LIcon encapsulation breaks $refs

Description

Steps to Reproduce
  <l-marker
    ref = "marker-container"
    :lat-lng = "[-10, 10]"
  >
    <l-icon
      ref = "icon-container"
      :icon-size = "iconSize"
      :icon-anchor = "iconAnchor"
    >
      <canvas
        ref = "mark-canvas"
        :width = 'iconSize[0]'
        :height = 'iconSize[1]'
        :style = "{
          position: 'absolute',
          left: '0px',
          top: '0px',
        }"
      />
    </l-icon>
  </l-marker>
</template>

Then try to draw into this.$refs['mark-canvas'].
Expected Results
The marker/icon/canvas matches what is drawn to the canvas.
Actual Results
Nothing appears on the canvas. It turns out that there are in fact two canvases, and the visible one is not accessible through $refs as expected (drawing goes to the second, non-visible canvas).
I could access the visible canvas copy with this.$refs['marker-container'].mapObject.getElement().firstChild but is that really the way it is supposed to work
(after waiting long enough, in mounted or in $nextTick even that fails)?
Browsers Affected

[ x ] Firefox

Probably others too.
Versions

Leaflet: v1.3.4
Vue: v2.5.18
Vue2Leaflet: v2.1.1

@ij1 Wow this is a use case that I did not think would exist/work.
So how the system works is that what you put inside l-marker gets used as a base reference and is content transferred to leaflet with the appropriate methods/class initialisation.
if you manipulate the canvas directly we have absolutely no way to know that the leaflet  part needs to be updated.
My suggestion is to: update to the latest version
put a @ready listener on the marker and when is fired you can access the 'leaflet' canvas via the returned mapObject.
Just be wary of performances with lots of canvasses

@ij1 Wow this is a use case that I did not think would exist/work.

To be honest, I didn't think that either but I was considering that I might have to write my own code for using canvases with marker like objects but then by chance wandered to the l-icon docs page and realized I could just replace the image in the given example with a canvas! And that warranted testing it out :-).
What I've done so far to solve this problem is passing a code-generated svg to the marker icon but the svg boilerplate and general messiness of constructing svg on the fly makes it quite annoying. Also, I don't think that the canvas will be a loser performancewise either compared with all the extra steps svg path goes through.
Basically my use-case requirements are: placement of a reference pixel (usually the center pixel) in latLng, drawing/object sizing in screen coordinates, and ability to update the marker image. The updating is mostly infrequently, up to a few times per minute; except one case where the rotation(s) are aimed by mouse for which svg approach is lagging somewhat (w/o any hw accelerations) but I guess canvas will easily handle without lag. One of the rotations is eccentric making some pre-existing rotatingmarker stuff based on css transformations useless without extra math hassle combined with multiple objects, canvas' rotate+translate+rotate, on the otherhand, neatly handles it without that extra trigonometry in js.

So how the system works is that what you put inside l-marker gets used as a base reference and is content transferred to leaflet with the appropriate methods/class initialisation.
if you manipulate the canvas directly we have absolutely no way to know that the leaflet part needs to be updated.

I realize that. My intention was not to modify a non-visible canvas (nor to suggest its changed should be tracked).
During testing it out I just realized I ended up modifying that "shadow" canvas instead of the one I wanted to as I didn't even know, at that time, the canvas given in the template would not be made visible but just used as blueprints. I would have expected the framework to take that particular instance of canvas and graft it into the marker.

My suggestion is to: update to the latest version
put a @ready listener on the marker and when is fired you can access the 'leaflet' canvas via the returned mapObject.

Yes, I realized from the git log I can probably use that for the timing. It will of course leave those dummy canvases into dom but hopefully they won't have any impact.
Anyway, thanks for the suggestion.

Just be wary of performances with lots of canvasses

I know this is somewhat off-topic but I've been trying to search for information about this but so far with little success, do you have any references/experience about this? (As I'm also thinking of migrating even some of my gridlayer stuff into small of canvases to avoid zooming changing their scale + redraw to correct it afterwards). Most of the references claiming this seem to talk about large canvases. I'm quite surprised that I've not found anyone to even mention anything along the lines of one canvas per "sprite" or so (drawImage to copy sprites from small non-visible canvases to a large canvas does not count but are easily found though), but it could be just that the search terms are just too generic around this topic to return good results from a google search.

put a @ready listener on the marker and when is fired you can access the 'leaflet' canvas via the returned mapObject.

This sort of works, I had to still put yet another this.$nextTick into the ready handler be able to acquire the canvas instead of the icon image.
I just tried resizing the icon/canvas + recentering the anchor and it broke again. I guess the icon gets rewritten so that the old canvas is thrown away and the new one is put to DOM. Not a big deal though, I'll just keep the size constant and scale the drawing parameters to work-around it.

@ij1 do you use the last version? Also do you think we could do a dedicated component?

@ij1 do you use the last version?

Yes, I think so:

* Vue2Leaflet: v2.1.1

...so the $nextTick($emit('ready')) stuff should be there already.

Also do you think we could do a dedicated component?

For static content, I guess the current approach is ok. But for truly HTML like content such as DivIcon I think my natural expectation is somewhat more (more "vue-like" handling for the slot content) and anything else ends up into a surprised: "ow, that didn't work". Such surprise, of course, is not the end of the world and in this case I already implemented a way to workaround it. I'm no longer sure if resizing the canvas was that useful anyway (it was just a side-product of scaling the drawing), the constant size approach is likely fine for me, if not even better.
I guess it ultimately boils down into the difference how Leaflet itself handles (Div)Icon and Control (LControl puts the slot content into DOM rather than recreating it). In Leaflet, the former can be instanciated many times from a JS variable so the same elements cannot be easily reused and the content is passed in the html option instead (it's intented to be a reusable icon, after all). But with templates in vue there's no need to be similarly prepared for multiple copies so the DivIcon wrapper could put the slot content into DOM similar to how LControl behaves. It would probably need LDivIcon.extend + supplying CreateIcon but not much else?
Looking into LIcon's code now, I also wonder if setIconSize/setIconAnchor really need to recreate the whole icon, I'd think that from Leaflet's point of view, calling _setIconStyles would be enough.
But even with that, I think I still couldn't resize the canvas using width/height attributes (but assigning in JS would work though) as it would trigger setHtml I guess.

@ij1 Sadly the approach of putting stuff in the DOM and then feeding it to leaflet is the only one that allows us to still use the reactivity if we don't put the element in the dom it does not get updated.
I am fighting with this since a while but I don't know if we can do better.
About creating only one icon I am thinking to re-write  l-default-icon to be a  static performant l-icon
_setIconStyles is a private method so we avoid to use them in order to not have a breaking change from the leaflet side that we don't expect ( they are not responsible for internal method changes )

I'm starting to regret I even made this bug report as I'm afraid my canvas inside divicon trick will break if something gets changed the wrong way :-) (obviously with the no resizing + no $refs restrictions but I can live with those).
I noticed that Leaflet 1.5.0 seems to have added support for giving an element to DivIcon without mucking around with Leaflet's internals:
https://github.com/Leaflet/Leaflet/commit/e079588573d0b0c649df95c3d6005373e87f323a
I won't help the older versions though (nor me as I'm currently stuck to 1.3.4 because of some gridlayer bug added in 1.4.0 probably related to opacity that makes the whole layer occassionally non-visible).

@ij1 No worries we pay attention not to break it :) ALSO! could you provide an example with the canvas technique? It would help us not break anything and also be interesting for others


importing component changes font on all views

Describe the bug
why importing button component fonts all being changed?
also why doing refresh your lib does not respect my fonts and forces to use its?
Steps to reproduce
Start the app
Link to minimal reproduction
https://github.com/tusen-ai/naive-ui
System Info
System:
    OS: macOS 14.6.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 24.27 GB / 64.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.17.0 - ~/dev/node-v20.17.0/bin/node
    npm: 10.8.2 - ~/dev/node-v20.17.0/bin/npm
    bun: 1.1.29 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 126.0.6478.127
    Safari: 17.6
  npmPackages:
    naive-ui: ^2.40.1 => 2.40.1
    vue: ^3.5.10 => 3.5.10

bun is also package manager

Used Package Manager
npm
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

This seems to have nothing to do with naive, Provide online reproducible links

Im trying to reproduce this but now getting issues with import i want to manually import how this is being done?
https://github.com/MariuzM/test__nuxt/tree/test-naive-ui
app/pages/index.vue

Why did you close this and not give me time to make repo?

following the docs

https://github.com/07akioni/naive-ui-nuxt-demo
I installed the naive ui & nuxt naive ui dependency and it is normal, refer to the demo above

perfect thank you, i did know another lib is needed thought nuxt module lib had it
but i want to go back to original issue where font changes when i use button

without button font goes back to normal size

@MariuzM

because it will inject nglobal style to the head. you can custom your style.css and use it with  nuxt.config.ts > css: ['custom.css']


Issue with using this aspectj in a library(aar)

Hi There,
I'm using this plug-in to track UI clicks and Page lifecycle events as part of library which I'm implementing.
However, if I directly include the library code in any sample application, it is able to capture all events. But when converted to aar file and then merged in the sample app, it does not identify UI clicks(only Page events are identified).
Is there any such limitation with building this plugin as a library(aar)? Please help as this is crucial in my project.
Thank you in advance.
Regards,
Sheela

https://github.com/sheelaknaik/AspectJ
Sample project uploaded on above github

In your app module gradle file you need to specify that you want to include aspects from elsewhere.
Try adding the following to the file under the dependencies section:
aspectj {
includeAspectsFromJar 'Seclib'
}

Thanks for you response. I have tried this and it doesn't seem to be working.
Would you please try to run the attached sample and see how we can support aar ?

I had tried this. I verified that these pointcuts
Full ajc build args: -encoding, UTF-8, -source, 1.7, -target, 1.7, -d, /Users/jdvp/Downloads/AspectJ-master/TestFinalwithLibrary/app/build/intermediates/transforms/aspectj/debug/0, -bootclasspath, /Users/jdvp/Library/Android/sdk/platforms/android-26/android.jar, -classpath, /Users/jdvp/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjrt/1.8.10/1a14fe9e912f6e8bdbb5429b78b4090d8b47bc1/aspectjrt-1.8.10.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/design-26.1.0.aar/229c99ce44a9c2cf769de0f4de3a7bbf/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/1e90df4e0b04f0ded49a81f1e54de7ac/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.0.aar/ad0c87dfae6b9cc9b35556034e8f4a00/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-26.1.0.aar/01b80e0bd4a32934b76ba53b72eb93e8/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-26.1.0.aar/2d83e23ca0bf9ccd4acbd84c43e55e25/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-26.1.0.aar/eaebc5f3ff387e5c55cd55c3bad3f9ba/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/transition-26.1.0.aar/8b9798039d8d6dee7bd3b052d1563be7/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/7ca0a6b8716c5f39bcec40ee4409cd4a/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/0e544c09b08ae23c5b575e9b64cf5e5d/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-fragment-26.1.0.aar/0b09dd678edf27f482cb3cf8510d5454/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-core-utils-26.1.0.aar/31dc0673c65cf7266bc8164a78b52f68/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-core-ui-26.1.0.aar/82afdef18a648596994432d536363e45/jars/classes.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/support-compat-26.1.0.aar/bc3e29326d51a52f51b7506d2d3f4327/jars/classes.jar:/Users/jdvp/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/26.1.0/814258103cf26a15fcc26ecce35f5b7d24b73f8/support-annotations-26.1.0.jar:/Users/jdvp/.gradle/caches/modules-2/files-2.1/com.android.support.constraint/constraint-layout-solver/1.1.0/931532e953a477f876f2de18c2e7f16eee01078f/constraint-layout-solver-1.1.0.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/runtime-1.0.0.aar/1aaad834d23ba10e9995a7b7ca1e30db/jars/classes.jar:/Users/jdvp/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.0.0/e414a4cb28434e25c4f6aa71426eb20cf4874ae9/common-1.0.0.jar:/Users/jdvp/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.0.0/a2d487452376193fc8c103dd2b9bd5f2b1b44563/common-1.0.0.jar:/Users/jdvp/.gradle/caches/transforms-1/files-1.1/Seclib-debug-2.5.aar/ab9ddccb5740b339b77f68d37daabaac/jars/classes.jar:/Users/jdvp/Downloads/AspectJ-master/TestFinalwithLibrary/app/build/intermediates/classes/debug, -inpath, /Users/jdvp/Downloads/AspectJ-master/TestFinalwithLibrary/app/build/intermediates/classes/debug, -aspectpath, /Users/jdvp/.gradle/caches/transforms-1/files-1.1/Seclib-debug-2.5.aar/ab9ddccb5740b339b77f68d37daabaac/jars/classes.jar, -log, /Users/jdvp/Downloads/AspectJ-master/TestFinalwithLibrary/app/build/ajc-transform.log, -showWeaveInfo

Tue Jul 03 17:15:20 EDT 2018
Join point 'method-execution(void com.aspectj.root.testfinal.MainActivity$1.onClick(android.view.View))' in Type 'com.aspectj.root.testfinal.MainActivity$1' (MainActivity.java:25) advised by before advice from 'com.vodafone.lib.seclibng.MetricsAspect' (classes.jar!MetricsAspect.class(from MetricsAspect.java))

Join point 'method-execution(void com.aspectj.root.testfinal.MainActivity$1.onClick(android.view.View))' in Type 'com.aspectj.root.testfinal.MainActivity$1' (MainActivity.java:25) advised by afterThrowing advice from 'com.vodafone.lib.seclibng.ExceptionHandler' (classes.jar!ExceptionHandler.class(from ExceptionHandler.java))

Join point 'method-execution(void com.aspectj.root.testfinal.MainActivity.onCreate(android.os.Bundle))' in Type 'com.aspectj.root.testfinal.MainActivity' (MainActivity.java:16) advised by afterThrowing advice from 'com.vodafone.lib.seclibng.ExceptionHandler' (classes.jar!ExceptionHandler.class(from ExceptionHandler.java))

Join point 'method-execution(boolean com.aspectj.root.testfinal.MainActivity.onCreateOptionsMenu(android.view.Menu))' in Type 'com.aspectj.root.testfinal.MainActivity' (MainActivity.java:34) advised by afterThrowing advice from 'com.vodafone.lib.seclibng.ExceptionHandler' (classes.jar!ExceptionHandler.class(from ExceptionHandler.java))

Join point 'method-execution(boolean com.aspectj.root.testfinal.MainActivity.onOptionsItemSelected(android.view.MenuItem))' in Type 'com.aspectj.root.testfinal.MainActivity' (MainActivity.java:43) advised by before advice from 'com.vodafone.lib.seclibng.MetricsAspect' (classes.jar!MetricsAspect.class(from MetricsAspect.java))

Join point 'method-execution(boolean com.aspectj.root.testfinal.MainActivity.onOptionsItemSelected(android.view.MenuItem))' in Type 'com.aspectj.root.testfinal.MainActivity' (MainActivity.java:43) advised by afterThrowing advice from 'com.vodafone.lib.seclibng.ExceptionHandler' (classes.jar!ExceptionHandler.class(from ExceptionHandler.java))

/Users/jdvp/.gradle/caches/transforms-1/files-1.1/Seclib-debug-2.5.aar/ab9ddccb5740b339b77f68d37daabaac/jars/classes.jar!com/vodafone/lib/seclibng/MetricsAspect.class [warning] advice defined in com.vodafone.lib.seclibng.MetricsAspect has not been applied [Xlint:adviceDidNotMatch]

had been added when using
aspectj {
    includeAllJars true
    includeJar 'Seclib'
    includeAspectsFromJar 'Seclib'
}

in the app level build.gradle.  Here is the full build.gradle for reference:
apply plugin: 'com.android.application'
apply plugin: 'com.archinamon.aspectj'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.aspectj.root.testfinal"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:design:26.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation project(':Seclib-debug-2.5')
}

aspectj {
    includeAllJars true
    includeJar 'Seclib'
    includeAspectsFromJar 'Seclib'
}

Hope this helps

Hi @jdvp, Thanks for your response.
I see that with the mentioned changes, aar is working perfectly.
includeJar 'Seclib'
The above line was something I was missing.
Thanks once again :)

Hi @jdvp. We can modify aspectj only on Seclib Module , no need to modify but we can track UI ? If we can do that, please tell me how?


Adds option to load Stripe v3

This fixes an integration problem with our Reaction components that need Stripe V3, which was discussed in Slack.

Nice. 🎉
Noting for posterity that we still have two places in force that we need to replace with stripe elements in order to deprecate v2. Those are ticketed: https://artsyproduct.atlassian.net/browse/PURCHASE-423 and https://artsyproduct.atlassian.net/browse/PURCHASE-161


[charts/csi-unity] Centralize all images to one place

Is this a new chart?
No
What this PR does / why we need it:
Simplify images customization by centralizing them in one place
Which issue(s) is this PR associated with:
https://github.com/dell/csm/issues/1012
Special notes for your reviewer:
/!\ Only the syntax has been tested (passed with helm install unity ./csi-unity -n unity --debug --dry-run ) per agreement on Slack the Scrum team will validate the e2e installation.
Checklist:
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Chart Version bumped
[ ] Variables are documented in the chart README.md
[x] Title of the PR starts with the chart name (e.g. [charts_dir/mychartname]) if applicable

Ensure that the images are up-to-date for 1.9.

@coulof Ensure that the images are up-to-date for 1.9.

@atye, the sidecars are bumped to the latest version. I let the unity team decide on when to bump to v2.9.0

@coulof Change is fixed for duplicate podmon image.

There are duplicate entries for module images in isilon values too
https://github.com/dell/helm-charts/blob/release-v1.9.0/charts/csi-isilon/values.yaml#L144
https://github.com/dell/helm-charts/blob/release-v1.9.0/charts/csi-isilon/values.yaml#L378

There are duplicate entries for module images in isilon values too https://github.com/dell/helm-charts/blob/release-v1.9.0/charts/csi-isilon/values.yaml#L144 https://github.com/dell/helm-charts/blob/release-v1.9.0/charts/csi-isilon/values.yaml#L378

Addressed in https://github.com/dell/helm-charts/pull/320.


[avro-cpp] Update to 1.11.1

Update 'avro-cpp' port to latest version 1.11.2 pre-release

What does your PR fix?

Update avro-cpp to new version
Remove setting DEBUG option 'AVRO_ADD_PROTECTOR_FLAGS' (leading to binary incompatibility and segfault crashes)
Add feature for build tests
Remove not used dependencies
Update deprecated VCPKG functions
Add 'usage' file

Which triplets are supported/not supported? Have you updated the CI baseline?
All (only with shared linkage), No

Does your PR follow the maintainer guide?

Yes

Just wondering why, there is still warning 'You have modified or added at least one portfile where deprecated functions are used.', I don't see any more deprecated functions from the list.

Just wondering why there is still warning 'You have modified or added at least one portfile where deprecated functions are used.', I don't see any more deprecated functions from the list.

It may be this copyright function, and it will be changed next time.
file(INSTALL "${SOURCE_PATH}/lang/c++/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
New functions:
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/lang/c++/LICENSE")

All features are tested successfully in the following triplet:
x86-windows
x64-windows

may be this copyright function, and it will be changed next time.
file(INSTALL "${SOURCE_PATH}/lang/c++/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
New functions:
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/lang/c++/LICENSE")

No, this is not the reason.

Thank you


Optionally use pickle for remote runnable

Add an option in the config to alter the way messages are serialized for the RemoteRunnable.
Initial options should be json (default, actually json_util), and pickle (actually cloudpickle)

 test


thinkfan: 1.2.1 -> 1.2.2

Motivation for this change
This is a maintenance release that fixes a long-standing bug in handling sensors that may disappear at runtime (i.e. those marked with optional: true). An error in the logic surrounding that led to the optional: setting effectively being ignored.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 127210 at 0cdc3ca9 run on aarch64-linux 1

2 packages built successfully:

nixos-install-tools
thinkfan


Video Decoder & Small Fixes

We will wait for the distance-fixes as well as a new docker-container to be implemented before doing this pull-request

Needs merging


Make better comment for Alignment and a correct calculation formula for subview's position

there is some comment explain Alignment(x, y):
/// `Alignment(x, y)` in a rectangle with height h and width w describes
/// the point (x * w/2 + w/2, y * h/2 + h/2) in the coordinate system of the
/// rectangle.

but, in actually, if you want calculate  a child widget's coordinate offset when using Alignment(x, y), the correct calculation formula is (x*(parent_width - child_width)/2, y*(parent_height - child_height)/2)
please update this comment and calculation formula

@WonderJeffy Thanks for the report.
I see there's an open issue that seems to be similar to the case you described #68680. Please take a look at that issue and see if they are similar.

@huycozy Thanks for your reply.And yes，I think they are the same problem.

Thanks for confirming. I will close this issue in favor of https://github.com/flutter/flutter/issues/68680, so please follow up on it for further updates. You can leave there your comment and react an upvote to the original comment will help to raise the issue.


Add --check-change option, for pre-commit export hook

This is required to fix https://github.com/python-poetry/poetry/issues/8512 / https://github.com/python-poetry/poetry-plugin-export/issues/237.
Currently, the poetry-export pre-commit hook returns 0 even when it changes the requirements.txt file. As written here, pre-commit hooks should return a nonzero value when modifying files. This is required in order to make pipelines fail if files are not as expected - in this case, if the requirements.txt file was not updated.
I added a --check-change option, which causes poetry export to return 1 if it changed the output. https://github.com/python-poetry/poetry/pull/8810 in the main poetry repository changes the hook to add the --check-change option.
Note: I didn't add a test yet. If you approve of the approach, I'll happily add a test.

I think that this change isn't needed - it turns out that pre-commit checks if the content was changed, and doesn't require a nonzero return code.


Per-plot custom inspector function

Hi All,
For starters, I'd like to say that I've been having a great experience using Makie so far. Kudos for creating such a nifty plotting package!
I'm currently trying to have an inspector which makes available some ancillary data on the particular data points of a scatter plot. I.e.
| x | y | extra |
|---+---+-------|
| 1 | 2 | hey   |
| 2 | 1 | there |
...

When hovering over the (1, 2) point it would be great if I could have an inspector show "hey", etc.
This is something that can't really be accomplished with text labels, as when I have thousands of data points it gets a bit much.
Looking at https://makie.juliaplots.org/v0.15.1/documentation/inspector/#extending_the_datainspector and a few relevant bits of the source code, I get the impression that this use case isn't possible without writing a horribly hacky override for show_data(inspector::DataInspector, plot::Scatter, idx) affecting all scatter plots and abusing global variables.
It would be great if DataInspector could accept an "custom show functions"-type parameter, something like a dictionary between plot types and show functions that this specific inspector should use. If this existed, I could simply box the data in a custom show function and use it this way.
Let me know if you'd consider adding something like this.

Looking at https://makie.juliaplots.org/v0.15.1/documentation/inspector/#extending_the_datainspector and a few relevant bits of the source code, I get the impression that this use case isn't possible without writing a horribly hacky override for show_data(inspector::DataInspector, plot::Scatter, idx) affecting all scatter plots and abusing global variables.

Yea that's true. I originally thought people would mainly be looking to add special behavior for custom recipes. I've been meaning to rework this stuff for a while but I haven't found the time yet.

It would be great if DataInspector could accept an "custom show functions"-type parameter, something like a dictionary between plot types and show functions that this specific inspector should use. If this existed, I could simply box the data in a custom show function and use it this way.

My idea was to look for some custom label providing function in plot.attributes and fall back on the current behavior if none exist.

I think it's better to keep the scope of the inspector relatively small but make the parts that go into it available. Putting something like on_hover and on_click in there would basically make it a second, more restrictive version of the event system we have.
Something like plot.attributes[:on_click] = Observable((scene, plot, idx) -> ...) would be more or less the same as
on(events(scene).mousebutton, 10) do event
    if event.button == Mouse.left && event.action = Mouse.press
        plot, idx = pick(scene, 10)
        if plot == relevant_plot
            ...
        end
        return Consume(true)
    end
    return Consume(false)
end

And that could just become a function on_click(f, plot; settings) too.

Ah! I think I need to look at the event system a bit more. Thanks for the example.
Scratch out everything I say after "something else has just occurred to me", but I think my comments on ideally wanting a label + per-inspector show_data still stand.


reusability of this repo

I am glad I had found linked-data-registry.
Unfortunatey, also due to lacking node version pinning in package.json, I have not been able to get this service running. Sometimes small patches and guesses by looking at the code helped me get one step further, but it seems the dependencies are in a bad state.
We like this approach, as we are currently building a data citation/annotation engine for TransforMap ourselves. The use of LDF and JSON-LD here felt seducing. Supposedly an instance of iteration of this is in use at science.ai for the freemium services?
My question is: Is it worth the effort to get this IP thingy running again, or should it remain here as a proof of concept for educational usage?

Glad to see more initiatives around JSON-LD LDF!
Yes currently this repo is more an outdated proof of concept than anything else. That being said, we have been iterating a lot on the idea of a linked data registry and are converging toward an approach leveraging JSON-LD framing. This new development (currently closed source) is what is going to power science.ai. We have plans to make the new stuff open source shortly after we make some product releases.
We will be sure to update this repo when we do so.


Add quick start section on top of readme.md

The readme is very verbose. There should be a quick start section for the tl;dr people.

Streamlining the README is probably going to depend on:

[ ] #68
[ ] #77
[ ] #31 (non-essential)
[ ] #23 (probably)
[ ] #20


Fix Exec tasks not inheriting environment variables with CC

Fixes #30790
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have passed:

Pull Request Feedback (Trigger) (Check)

Build Scan


ffmpeg bs try using lavalink

Hey, thanks for submitting this suggestion. 👍
This may be considered an alternative in the future, but at present, FFmpeg is the preferred media framework and transcoder that the bot will use at the present time.


Error fontFamily Roboto on Android

I have problem when running on android, running well on ios and web. Is this normal or i missing something?
error message :
console.error: "fontFamily 'Roboto_medium' is not a system font and has not been loaded through Expo.Font.loadAsync.

If you intended to use a system font, make sure you typed the name correctly and that it is supported by your device operating system.

If this is a custom font, be sure to load it with Expo.Font.loadAsync."
newConsoleFunc
Logs.js:190:21
error
YellowBox.js:69:16
processFontFamily
Font.js:36:10
diffProperties
ReactNativeFiber-dev.js:2939:112
addProperties
ReactNativeFiber-dev.js:2950:30
addNestedProperty
ReactNativeFiber-dev.js:2916:59
diffNestedProperty
ReactNativeFiber-dev.js:2912:613
diffProperties
ReactNativeFiber-dev.js:2941:91
addProperties
ReactNativeFiber-dev.js:2950:30
create
ReactNativeFiber-dev.js:2957:33
createInstance
ReactNativeFiber-dev.js:3114:69
completeWork
ReactNativeFiber-dev.js:1965:55
completeUnitOfWork
ReactNativeFiber-dev.js:2548:76
performUnitOfWork
ReactNativeFiber-dev.js:2571:56
workLoop
ReactNativeFiber-dev.js:2595:141
_invokeGuardedCallback
ReactNativeFiber-dev.js:75:23
invokeGuardedCallback
ReactNativeFiber-dev.js:49:40
performWork
ReactNativeFiber-dev.js:2634:41
scheduleUpdateImpl
ReactNativeFiber-dev.js:2768:101
scheduleUpdate
ReactNativeFiber-dev.js:2751:38
enqueueSetState
ReactNativeFiber-dev.js:1569:90
setState
react.development.js:237:31
handlePersistorState
react.js:43:25
dispatch
createStore.js:186:6
rehydrate
persistStore.js:99:23

persistReducer.js:76:27
tryCallOne
core.js:37:14

core.js:123:25

JSTimers.js:295:23
_callTimer
JSTimers.js:148:6
_callImmediatesPass
JSTimers.js:196:17
callImmediates
JSTimers.js:464:11
__callImmediates
MessageQueue.js:282:4

MessageQueue.js:137:6
__guard
MessageQueue.js:269:6
flushedQueue
MessageQueue.js:136:17
invokeCallbackAndReturnFlushedQueue
MessageQueue.js:132:11

https://github.com/GeekyAnts/NativeBase/issues/1240
Here is a solution

GeekyAnts/NativeBase#1240
Here is a solution

After searching for tonnes of solutions , this worked for me , thank you

Hey, it's works for me. Just put a conditional if is loading and change to false when is done.

Based on achums007 commented on 24 Apr 2018,
https://stackoverflow.com/questions/57066075/console-error-fontfamily-roboto-medium-is-not-a-system-font-and-has-not-been
import React, { Component } from 'react';
import { View, } from "react-native";
import { Button, Text } from 'native-base';
export default class MyComponent extends Component {
state = {
loading: true
}
async componentDidMount() {
await Font.loadAsync({
'Roboto': require('native-base/Fonts/Roboto.ttf'),
'Roboto_medium': require('native-base/Fonts/Roboto_medium.ttf'),
...Ionicons.font,
})
this.setState({ loading: false })
}
render() {
if (this.state.loading) {
return (

);
}
return (

Click me!

)
}
}


Handle Series

Hi,
I think at the moment series are handled as individual events, whereas they should be handled as series to avoid issues.
Could this be something to add to the roadmap?
Many thanks
T

Which issues are you experiencing with series?

If they are synced as individual events rather than series, you can't update the series in the target calendar in batch mode, eg to set from Busy to Free etc.

ah, that makes sense! Thanks for the headsup!

I investigated a little bit, and want to share my findings.
For MS 365, there is a field type that can contain singleInstance, occurrence, exception, seriesMaster as possible values. When you target /events you will get a list of only types singleInstance or seriesMaster.
From there, using a startDateTime and endDateTime you can extract all occurrence and exception from a seriesMaster by using the series id. Any non-modified occurrence of a series will be of type occurrence and may not need to be updated, or rather will not be different than the information contained in seriesMaster. Any single instance that has different dates, different body, etc will be of type exception.
From my limited understanding you are not patching events anyway, but just copying all of them.
So the elegant solution would be to handle the types differently, the brute-force approach would be to check for seriesMaster type and then fetch all instances of that series (regardless the type) and just copy all fields to the other entry.
Important to note is that a new field should be tracked / used, which is seriesMasterId which contains the ID of the seriesMaster event.
I am not an expert in Go, and I also do not want to impede on your logic, so do you think this is something you could implement or would you need more information ? @alxndr13

@Trefex i will have a look at this when i got the time. Currently i'm kinda busy moving and enjoying the summer :) Will probably tackle this in the winter or so.


Column mismatch in join operations

The join operation requires the common columns to be identical in name and type. This check is currently not implemented, but is required as a pre-condition for the function execution.

Another requires clause is added to the join operation to assure that the selected common join columns have the same type.


[FEATURE REQUEST] Refactor data loading

Is your feature request related to a problem? Please describe.
TODO
Describe the solution you'd like
TODO
Describe alternatives you've considered
TODO
Additional context
TODO

DoD checklist

Changelog

[ ] updated
[ ] not needed

COMPONENTS.md

[ ] updated
[ ] not needed

Schema

[ ] updated
[ ] not needed

Backport tasks

[ ] created
[ ] not needed

Documentation

[ ] added
[ ] updated
[ ] not needed

[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade
[ ] backup/restore

[ ] Idempotency tested
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license

Not valid anymore.


testing: Make linter fail with exit code if any check fails.

This might lead to a couple PRs failing that are currently not.

Sigh, I guess that's what we get for writing a semi-duplicate forked version of the original linter code: new bugs :)
Thanks for fixing!


About import pdfjs-dist is undefined

In my project, i install 'pdfjs-dist' version '^2.16.105'. When i use import pdfjs from 'pdfjs-dist', but the pdfjs is undefined.
How can I fix this error?

When opening an issue, please provide all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md since as-is this unfortunately isn't actionable.
Also, please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.


Use rdfpub/generator v2.0.0 and update build/run/deploy page

The 2.0.0 version of rdfpub/generator introduces command-line arguments for the docker buildx build operation. This will allow the tutorial site GitHub workflow to specify multiple tags via -t.
The build-run-deploy page is updated to reflect this.

Also includes a couple of minor grammar fixes and verbiage changes.


Allow resources to return only error or nil at language level

Description:
The resources are supposed to return only error?, but this is not enforced by the language. Other libraries need to have a compile time validation to ensure that this is the case. For example AbstractTransportCompilerPlugin has been written explicitly to make this validation in http module. Similar code would be required in other modules as well for this validation.
This is too much duplication of code. It would be far better if this validation is made at the top core level.
Steps to reproduce:
Create a resource in a module that returns anything other than error? and it would be allowed if there are no compiler plugin validation for that.
Affected Versions:
Ballerina 1.0.0-beta
OS, DB, other environment details and versions:

This was enforced at language level with https://github.com/ballerina-platform/ballerina-lang/pull/18213 and should be available in 1.0.0-beta too. https://github.com/ballerina-platform/ballerina-lang/issues/18259 was created to track removing the std lib specific validations where it is a direct duplicate.
Can you share the code for which this is not enforced?

Okay. Noticed compiler plugin validations in several places and created the issue. Closing as it is mentioned in #18259


*: yarn v3

Trigger CI and see what will happen!

Codecov Report

Merging #1274 (abef597) into master (cd200fd) will decrease coverage by 9.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1274      +/-   ##
==========================================
- Coverage   33.61%   24.11%   -9.50%
==========================================
  Files         310       92     -218
  Lines       17640     9305    -8335
  Branches      804        0     -804
==========================================
- Hits         5929     2244    -3685
+ Misses      11479     6920    -4559
+ Partials      232      141      -91

Flag
Coverage Δ

be_integration_test_latest
?

be_integration_test_v4.0.1
?

be_unit_test
24.11% <ø> (ø)

e2e_test
?

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

Continue to review full report at Codecov.

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


adding Factotum job worker

fixed redis endpoint in celeryconfig.py
added Dockerfile for factotum docker image
added sueprvisord.conf & datasets.json to factotum
re-organized README.md
added factotum to deploy.sh & destroy.sh
added build_images.sh script to build all docker images

TODO:

find a way to replicate container-builder to build PGEs locally (docker images, etc.) and register job into Elasticsearch (mozart or GRQ)

using this article as reference was able to run a watered-down factotum in a pod
by mounting /var/run/docker.sock into the pod we are able to use docker, and ultimately be able to run PGEs locally
$ kubectl.docker exec -it pod/factotum-job-worker -- bash
[root@factotum-job-worker ~]# docker images
REPOSITORY                                      TAG                                                     IMAGE ID            CREATED             SIZE
factotum                                        unity-v0.0.1                                            4b1c954d036c        19 hours ago        1.58GB
hysds-grq2                                      unity-v0.0.1                                            7b5b470b5fde        3 weeks ago         1.1GB
hysds-core                                      unity-ol8-v0.0.1                                        a90fe737d6ff        3 weeks ago         1.29GB
hysds-mozart                                    unity-v0.0.1                                            948e780f4d07        3 weeks ago         1.06GB
hysds-core                                      unity-v0.0.1                                            15519aa6c54a        3 weeks ago         951MB
celery-tasks                                    unity-v0.0.1                                            505154e59068        3 weeks ago         197MB
hysds/pge-base                                  develop                                                 14b8c34341f0        3 weeks ago         3.19GB
.
.
.
[root@factotum-job-worker ~]# cat factotum-job_worker-small-00.log
/root/miniconda3/lib/python3.9/site-packages/celery/platforms.py:840: SecurityWarning: You're running the worker with superuser privileges: this is
absolutely not recommended!

Please specify a different user using the --uid option.

User information: uid=0 euid=0 gid=0 egid=0

  warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(

 --------------<EMAIL_ADDRESS>v5.2.2 (dawn-chorus)
--- ***** -----
-- ******* ---- Linux-5.10.25-linuxkit-x86_64-with-glibc2.28 2022-01-26 23:52:39
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         hysds:0x7f0b794c6280
- ** ---------- .> transport:   amqp://guest:**@rabbitmq:5672//
- ** ---------- .> results:     redis://redis:6379/
- *** --- * --- .> concurrency: 1 (prefork)
-- ******* ---- .> task events: ON
--- ***** -----
 -------------- [queues]
                .> factotum-job_worker-small exchange=factotum-job_worker-small(direct) key=factotum-job_worker-small

[tasks]
  . hysds.job_worker.run_job
  . hysds.orchestrator.submit_job
  . hysds.task_worker.run_task
  . hysds.utils.error_handler

[2022-01-26 23:52:39,554: INFO/MainProcess] Connected to amqp://guest:**@rabbitmq:5672//
[2022-01-26 23:52:39,592: INFO/MainProcess]<EMAIL_ADDRESS>ready.

factotum job worker queues in RabbitMQ

The factotum image inherits from the hysds-core:unity-ol8-v0.0.1. Is this a leftover, or are you thinking about having all images using OL8? If so, we should make that Dockerfile the default, and/or add to the README the instruction on how to build that OL8 Docker image for hysds-core.

that's a typo, ill revert it back to hysds-core:unity-v0.0.1, not sure when we'll switch from centos7 to OL8 though

What about having a build.sh file that builds all the Docker images?

sounds good, ill create a bash script to build all the docker images

Also - currently factotum is mounting the host Docker socket to execute Docker commands in the Docker engine running on the host machine ("Docker-Outside-Of-Docker" pattern). In the future we can also try the "Docker-in-Docker" pattern, where we have a second container running in the factotum pod that has a Docker engine inside, and whereby factotum submits jobs to that internal Docker engine (an example is provided in the same article).

for now the "Docker-Outside-Of-Docker" implementation is easiest for local development, but later ill look into another solution to be more compatible for cloud/AWS

Thanks Dustin, I tried the build script and it worked - please go ahead and merge this PR.


Enhance the fileshare support feature(create a file share from existing snapshot)

What this PR does / why we need it:
It enhance the fileshare support feature. To support creation of a fileshare from snapshots
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

All required CI unit test cases passed. For more detail, you can refer the CI link.
https://travis-ci.org/opensds/opensds
The major unit cases are validated with manual and automated:

Create fileshare
Create Snapshot
Create snapshot with existing fileshare
Delete snapshot
Delete fileshare

two nfs.ymls in different folder, please remove one

I am closing this PR and will open new one with some more improvements


Feedback/contact options on mod's website

Any contact or feedback info on terraforged.com website could be really handy additions for, well, contacting and giving feedback.

Thankyou for contacting me to give this feedback 😉
Haha but in all seriousness, github or curseforge comments are the preferred means of contact/suggestions etc

Ok then, thanks ;)


IE10/IE11 setImmediate bug

It looks like there is a bug inside IE10+'s implementation of setImmedate:
http://codeforhire.com/2013/09/21/setimmediate-and-messagechannel-broken-on-internet-explorer-10/
It might be desirable to ignore IE's setImmedate implementation and use the onreadystatechange trick for it.

Ha! Found this in a random Google search. Whaddup @dantman!

Any updates on this?

https://twitter.com/slicknet/status/782274190451671040

@dantman Were you planning on making a PR for this?

@ronkorving No, I don't believe I'm even using this specific polyfill implementation anymore.

@dantman Did you find a better alternative?

@ronkorving Lately I just use whole package polyfills like core-js. Though I haven't dug into their actual implementations or determined if they have this same issue.

@dantman Understood. Thanks 👍


Crash in xwayland_socket_connected

I observed the following crash from sway (latest master, with latest wlroots master):
(gdb) bt full
#0  0x00007f62defae059 in wl_event_source_remove () at /lib/x86_64-linux-gnu/libwayland-server.so.0
#1  0x00007f62def64c96 in xwayland_socket_connected (fd=<optimized out>, mask=<optimized out>, data=0x560c22144bd0) at ../xwayland/xwayland.c:269
        wlr_xwayland = 0x560c22144bd0
#2  0x00007f62defae36a in wl_event_loop_dispatch () at /lib/x86_64-linux-gnu/libwayland-server.so.0
#3  0x00007f62defac9ba in wl_display_run () at /lib/x86_64-linux-gnu/libwayland-server.so.0
#4  0x0000560c20208842 in  ()
#5  0x00007f62decdb09b in __libc_start_main (main=
    0x560c20208320, argc=2, argv=0x7ffe930029e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe930029d8) at ../csu/libc-start.c:308
        result = <optimized out>
        unwind_buf =
              {cancel_jmp_buf = {{jmp_buf = {0, -4827057226722392500,<PHONE_NUMBER>9568,<PHONE_NUMBER>82208, 0, 0, -1231805636900370868, -1162169670741211572}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffe93002a00, 0x7f62df614190}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1828705792}}}
        not_first_call = <optimized out>
#6  0x0000560c202089ba in  ()

This happened while a floating popup window was opened from an X11 application. The X11 application closed immediately (no core dump), and then sway crashed with the stacktrace above on the next keystroke.
I will update if I see this crash again.

Probably an Xwayland crash. Sway is supposed to restart Xwayland in this case, but it seems like it crashed while doing that.

Got another crash:
(gdb) bt full
#0  0x00007fd654ff1059 in wl_event_source_remove (source=0x0) at ../src/event-loop.c:831
        loop = <optimized out>
#1  0x00007fd654fa7c96 in xwayland_socket_connected (fd=<optimized out>, mask=1612042432, data=0x557b6015d0c0) at ../xwayland/xwayland.c:268
        wlr_xwayland = 0x557b6015d0c0
#2  0x00007fd654ff136a in wl_event_loop_dispatch (loop=0x557b5f3cb940, timeout=timeout@entry=-1) at ../src/event-loop.c:1027
        ep =
              {{events = 1, data = {ptr = 0x557b6015d0b0, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>0784}}, {events = 1, data = {ptr = 0x557b603cdca0, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>9744}}, {events =<PHONE_NUMBER>, data = {ptr = 0x557b430da6fb, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>6555}}, {events = 4, data = {ptr = 0x1c, fd = 28, u32 = 28, u64 = 28}}, {events =<PHONE_NUMBER>, data = {ptr = 0x8a1fdb000000557b, fd = 21883, u32 = 21883, u64 =<PHONE_NUMBER>558590331}}, {events = 32766, data = {ptr = 0x557b60603f38, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>8744}}, {events =<PHONE_NUMBER>, data = {ptr = 0x8a1fdb400000557b, fd = 21883, u32 = 21883, u64 =<PHONE_NUMBER>436497275}}, {events = 32766, data = {ptr = 0x7fd654ff1acd <wl_connection_flush+365>, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>33581}}, {events = 28, data = {ptr = 0x8a1fdb7000000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>594905600}}, {events = 32766, data = {ptr = 0x7ffe8a1fdb60, fd = -1977623712, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>64320}}, {events = 1, data = {ptr = 0xae8, fd = 2792, u32 = 2792, u64 = 2792}}, {events = 0, data = {ptr = 0x557b00000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>8368}}, {events =<PHONE_NUMBER>, data = {ptr = 0x100007ffe, fd = 32766, u32 = 32766, u64 =<PHONE_NUMBER>}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 1, data = {ptr = 0x557b6057a950, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>6080}}, {events =<PHONE_NUMBER>, data = {ptr = 0x1c0000557b, fd = 21883, u32 = 21883, u64 =<PHONE_NUMBER>71}}, {events = 0, data = {ptr = 0x557b605a4fb8, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>9752}}, {events = 20, data = {ptr = 0x1400000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>0}}, {events = 0, data = {ptr = 0x100000001, fd = 1, u32 = 1, u64 =<PHONE_NUMBER>}}, {events = 1023, data = {ptr = 0x9c0000006a, fd = 106, u32 = 106, u64 =<PHONE_NUMBER>82}}, {events = 177, data = {ptr = 0xdb000000c6, fd = 198, u32 = 198, u64 =<PHONE_NUMBER>22}}, {events = 240, data = {ptr = 0x11a00000105, fd = 261, u32 = 261, u64 =<PHONE_NUMBER>733}}, {events = 303, data = {ptr = 0xe800000144, fd = 324, u32 = 324, u64 =<PHONE_NUMBER>96}}, {events = 252, data = {ptr = 0x111000000fd, fd = 253, u32 = 253, u64 =<PHONE_NUMBER>061}}, {events = 274, data = {ptr = 0x12700000126, fd = 294, u32 = 294, u64 =<PHONE_NUMBER>614}}, {events = 315, data = {ptr = 0x1500000013c, fd = 316, u32 = 316, u64 =<PHONE_NUMBER>772}}, {events = 337, data = {ptr = 0x18900000188, fd = 392, u32 = 392, u64 =<PHONE_NUMBER>720}}, {events =<PHONE_NUMBER>, data = {ptr = 0x47fb11000000557b, fd = 21883, u32 = 21883, u64 =<PHONE_NUMBER>544952187}}, {events =<PHONE_NUMBER>, data = {ptr = 0x557b5f3d7d70, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>3696}}, {events =<PHONE_NUMBER>, data = {ptr = 0x5430da6fb, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>7}}, {events = 21883, data = {ptr = 0x557b607b6400, fd =<PHONE_NUMBER>, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>7632}}}
        source = <optimized out>
        i = <optimized out>
        count = <optimized out>
        has_timers = <optimized out>
#3  0x00007fd654fef9ba in wl_display_run (display=0x557b5f3cbe00) at ../src/wayland-server.c:1351
#4  0x0000557b5f180842 in  ()
#5  0x00007fd654d1e09b in __libc_start_main (main=
    0x557b5f180320, argc=2, argv=0x7ffe8a1fddd8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe8a1fddc8) at ../csu/libc-start.c:308
        result = <optimized out>
        unwind_buf =
              {cancel_jmp_buf = {{jmp_buf = {0,<PHONE_NUMBER>849557854,<PHONE_NUMBER>9200,<PHONE_NUMBER>64944, 0, 0,<PHONE_NUMBER>613925214,<PHONE_NUMBER>479785822}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffe8a1fddf0, 0x7fd655657190}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1977623056}}}
        not_first_call = <optimized out>
#6  0x0000557b5f1809ba in  ()

Seems like x_fd_read_event[0] is NULL. I wonder how this is possible, since xwayland_socket_connected is a callback invoked when x_fd_read_event[0] is signaled.

xwayland_socket_connected is registered for both x_fd_read_event[0] and x_fd_read_event[1]. If it is called for both fds, then it is executed twice. The second time x_fd_read_event[0] is NULL.

Reading https://gitlab.freedesktop.org/wayland/wayland/-/issues/135 it doesn't seem like the callback can be invoked after wl_event_source_remove.

Adding some debug printfs could help undertsanding whether that's the case.

I added some debug prints. Hopefully we'll see some results soon.

There's one unlikely case where this crashes. wl_event_loop_add_fd returns NULL on error, so we can end up with x_fd_read_event[0] being not-NULL and x_fd_read_event[1] being NULL after server_start_lazy, since we don't error check there. It can also happen if dup failed or epoll failed.
I highly doubt that's the issue here, since reading the source it looks like that only happens on OOM or ulimit-related failure. We probably should check in server_start_lazy anyway though, and signal failure ourselves if necessary.

Yeah, unlikely to be the cause, but patches welcome to add the missing error checks!


KeyError after deleting user (result.append((recipient.id, [user_profiles[recipient.type_id]])))

Hello!
Running on-premise, DigitalOcean-stock Zulip droplet, version 2.1.3.
I wanted to delete(not deactivate) a user and followed the instructions from here, that means running:

./manage.py shell with UserProfile.objects.get(email="username@example.com").delete()

The user was succesfully deleted, here is the shell output
(94,
 {'zerver.UserProfile_groups': 0,
  'zerver.UserProfile_user_permissions': 0,
  'zerver.UserGroupMembership': 0,
  'zerver.EmailChangeStatus': 0,
  'zerver.PushDeviceToken': 0,
  'zerver.MutedTopic': 0,
  'zerver.SubMessage': 0,
  'zerver.Reaction': 0,
  'zerver.UserMessage': 35,
  'zerver.Attachment_messages': 1,
  'zerver.MissedMessageEmailAddress': 0,
  'zerver.ArchivedSubMessage': 0,
  'zerver.ArchivedReaction': 0,
  'zerver.ArchivedUserMessage': 0,
  'zerver.Subscription': 3,
  'zerver.UserActivity': 28,
  'zerver.UserActivityInterval': 6,
  'zerver.UserPresence': 2,
  'zerver.UserStatus': 0,
  'zerver.ScheduledEmail_users': 1,
  'zerver.ScheduledMessage': 0,
  'zerver.RealmAuditLog': 4,
  'zerver.UserHotspot': 2,
  'zerver.CustomProfileFieldValue': 0,
  'zerver.Service': 0,
  'zerver.BotStorageData': 0,
  'zerver.BotConfigData': 0,
  'social_django.UserSocialAuth': 0,
  'otp_totp.TOTPDevice': 0,
  'two_factor.PhoneDevice': 0,
  'analytics.UserCount': 7,
  'zerver.Message': 3,
  'zerver.Attachment': 1,
  'zerver.UserProfile': 1})

Following this memcached related issue, i executed ./scripts/setup/flush-memcached and the user seemed completely erased from the UI too.
However, i experienced problems:

At a close inspection, it seems that this API call
Request info:
- path: /json/messages
- GET: {'anchor': ['204'], 'num_before': ['200'], 'num_after': ['200'], 'client_gravatar': ['true']}
- QUERY_STRING: "['anchor=******&num_before=******&num_after=******&client_gravatar=******"
- SERVER_NAME: "['']"

results in internal server error:
Logger root, from module zerver.middleware line 291:

Traceback (most recent call last):
  File "/srv/zulip-venv-cache/6176a52fab8737c09656fc8ad0352547e9801c07/zulip-py3-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "./zerver/lib/rest.py", line 35, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/srv/zulip-venv-cache/6176a52fab8737c09656fc8ad0352547e9801c07/zulip-py3-venv/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "./zerver/lib/rest.py", line 172, in rest_dispatch
    return target_function(request, **kwargs)
  File "/srv/zulip-venv-cache/6176a52fab8737c09656fc8ad0352547e9801c07/zulip-py3-venv/lib/python3.6/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "./zerver/decorator.py", line 710, in _wrapped_view_func
    return authenticate_log_and_execute_json(request, view_func, *args, **kwargs)
  File "./zerver/decorator.py", line 689, in authenticate_log_and_execute_json
    return limited_view_func(request, user_profile, *args, **kwargs)
  File "./zerver/decorator.py", line 829, in wrapped_func
    return func(request, *args, **kwargs)
  File "./zerver/lib/request.py", line 367, in _wrapped_view_func
    return view_func(request, *args, **kwargs)
  File "./zerver/views/messages.py", line 927, in get_messages_backend
    allow_edit_history=user_profile.realm.allow_edit_history,
  File "./zerver/lib/message.py", line 115, in messages_for_ids
    MessageDict.post_process_dicts(message_list, apply_markdown, client_gravatar)
  File "./zerver/lib/message.py", line 194, in post_process_dicts
    MessageDict.bulk_hydrate_recipient_info(objs)
  File "./zerver/lib/message.py", line 485, in bulk_hydrate_recipient_info
    display_recipients = bulk_fetch_display_recipients(recipient_tuples)
  File "./zerver/lib/display_recipient.py", line 165, in bulk_fetch_display_recipients
    cache_transformer=personal_and_huddle_cache_transformer
  File "./zerver/lib/cache.py", line 395, in generic_bulk_cached_fetch
    db_objects = query_function(needed_ids)
  File "./zerver/lib/display_recipient.py", line 135, in personal_and_huddle_query_function
    result.append((recipient.id, [user_profiles[recipient.type_id]]))
KeyError: 15

I tried everything, from restarting services to clearing queues, restarting workers and finally rebooting the whole VM, nothing helped.
Digging into the db, i discovered that the deleted user had id=15 (exactly as the number in the error above). I have located this number in a row in the table named zerver_recipient

but in order to delete it, i had to first delete all entries in the zerver_message table that had recipiend_id = 20

which also meant that i first had to delete all entries from the table zerver_usermessage that had their message_id equal with the primary keys listed above 😭
Doing all these steps helped, as the API call is returning 200 now, and the server seems to run fine. But the problem is(besides the fact that deleting a user does not correctly cascade via models, in my opinion) that the browser console now outputs:

clearly in relation to the deleted account with id=15 and i really have no idea how to get rid of any deletion leftovers.
Any help would be appreciated :)

Seems like the user id is embedded in zerver_message entries that have the subject field set to signups, in the form @_**user_name|user_id**:

removing these rows resolves the frontend problem, the browser console is now clean.
However, some leftovers still remain (e.g. there are zerver_message entries about a user signing up or accepting the invitation, there might be even more cases).
Is there a clean way to remove them from the feed? Thanks!

I think the browser console issue is fixed in master; we no longer assume that user IDs mentioned in the syntax still exist in that code path.
The traceback indeed has to do with an undeleted Recipient object for a private message that had been sent to that user.  If you'd deleted the Recipient object from the Django manage.py shell, it would have taken care of the cascading for you.
Those two are the only complications that'll result in errors I'm aware of here.  There's no clean way to do this; the idea of making one is precisely the reason why #10533 is still open :).  The good news for you is that we're planning to resolve that issue in the somewhat near future.
@mateuszmandera FYI; mostly this is a reminder that when we implement a do_delete_user, we should update #10533 to recommend it.  I don't think we'd remove notifications about signups when a user is deleted (etc.), as that information might still be useful after the user is gone.  Though you could of course script it yourself in your own tooling.

Oke, nice .. maybe it would make sense to update #10533 with this information?

The traceback indeed has to do with an undeleted Recipient object for a private message that had been sent to that user. If you'd deleted the Recipient object from the Django manage.py shell, it would have taken care of the cascading for you.

Because in the current state, it literally causes disruption, as stated above, so one MUST delete Recipient objects in order for things to work again :)

Added a note to #10533, thanks for the reminder (I'd meant to do it yesterday).


client: update pd client

Signed-off-by: HuSharp<EMAIL_ADDRESS>

/cc @disksing  @nolouch @JmPotato

Ref https://github.com/pingcap/tidb/issues/38825


Better errors for missing/wrong JSON properties

It would be nice if we could better understand what's wrong with an incoming JSON body and throw a reasonable error about it. For now, we throw NotParsed(BodyItem, ....). Would be nice if we could promote BodyItem to a case class BodyItem(name: String) and wrap missing/wrongly decoded properties in it.
This is only about the cases when JSON is decoded directly to a case class: body.as[User]. I believe, end users should handle this manually (with custom exceptions like NotFoundJsonProperty) when dealing with raw JSON types directly: body.as[Json] and then parsing them with AST API provided by a JSON library.
See discussion in #261 started by @lderks.

It hardly depends on underlying JSON lib, but I think it would be nice to unify error output (exception) on decode step at least in our libs.

I started working on this already. Perhaps I can provide a very basic for Circe in 0.10.

@vkostyukov do you have anything pushed for this? I'd like to take a look :) I'm fiddling with something related to this but in the context of circe (see https://github.com/travisbrown/circe/issues/188)


creating filecoin host: couldn't connect to any of bootstrap peers error

Hi, guys. I've recently started to face this error while running Powergate. Could you please give a bit info on what could be the reasons? I was not able to find any related info in Google. Thanks!

Jun 22 10:11:53 ip-172-31-35-202 powd[6717]: 2020-06-22T10:11:53.618Z        FATAL        powd        starting server: creating filecoin host: couldn't connect to any of bootstrap peers
Jun 22 10:11:53 ip-172-31-35-202 systemd[1]: powergate.service: Main process exited, code=exited, status=1/FAILURE

@ArseniiPetrovich , most probably you're running a Powergate version that is connecting to an abandoned interop/testnet network. When the previous networks get reset, their bootstrap peers don't exist anymore. If Powergate can't connect to at least some bootstrap peers, it indicate that as an error.
Are you running latest master/tagged version?

@jsign
Well, thank you for the hint, Ignacio. It seems that Interop6.16 does not work with Powergate for some reason. I launched v0.4.0 right now and... No, it didn't work either, BUT with other error message:
 INFO        powd        powd/main.go:60        starting server...
     INFO        fchost        fchost/fchost.go:112        connected to 6 out of 6 bootstrap peers
     INFO        fchost        fchost/fchost.go:59        bootstraping libp2p host dht
     INFO        fchost        fchost/fchost.go:63        dht bootstraped!
     FATAL        powd        powd/main.go:63        starting server: opening maxmind database: opening geolite2 database: open GeoLite2-City.mmdb: no such file or directory

Do you have an idea of what might be the issue here? :)

Yes, now Powergate doesn't work with interopnet 6.16 since is older than the testnet v0.4.0.
Powergate is always targeting the latest deployed network.
That error is just you're missing the MaxMind database in the same path of powd binary. The database is in iplocation/maxmind/GeoLite2-City.mmdb. So if you just copy that, you won't get that error.

Aha, I see, thank you!


Point out modification in dlib for compiling without c++11 (caused by Opencv & C++ 11 Confliction)

According to my experiment, when i change your modified dlib into offical dlib v19.13 there are several bug such as: round not in namespace std, to_string not in namespace std. These bugs is totally related to C++11 linker or confliction.
And then, i modify APP_STL := c++_shared to generate a libc++_shared.so for solve the problem above, and the compile results still failed with error:
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [obj/local/arm64-v8a/libandroid_dlib.so] Error 1
make: *** Waiting for unfinished jobs....
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [obj/local/armeabi-v7a/libandroid_dlib.so] Error 1
And several error of undefined reference to ...
So can you point out your modification for me to compile newer dlib for android ?
Thanks in advance!

I made some small changes in these files dlib/dlib/serialize.h, dlib/dlib/dnn/layers.h, dlib/dlib/geometry/rectangle.h, dlib/dlib/image_transforms/interpolation.h, dlib/dlib/dnn/loss.h, dlib/dlib/statistics/running_gradient.h and dlib/dlib/global_optimization/global_function_search.cpp
I don't exactly remember but I wrote some workaround for c++11 functions like std::round and std::to_string.
I used dlib 19.9. If you use some other dlib version, you may need to make changes in more files.

Thanks for your response, I already know that you are using dlib 19.9 based on Dlib' Cmakelist.txt.
This is totally caused by c++11 functions.


Please change CPU architecture in iOS debug to i386 + x86_64

Hi,
currently the debug project settings for iOS is set to 64Bit only which makes the Forms sample crash when startet on an iPhone 5

Can you make a PR for this?

This should be fixed in #60


Upgrade jackson version to fix CVE-2018-7489

More info:
https://nvd.nist.gov/vuln/detail/CVE-2018-7489

Thanks. I'm going to release 1.4.0 this evening


plugin name mismatch

macroparadise:
https://github.com/scalameta/paradise/blob/master/plugin/src/main/scala/org/scalameta/paradise/Plugin.scala#L17

vs:

meta-paradise-plugin (jar/scalac-plugin.xml)
http://search.maven.org/#artifactdetails|org.scalameta|paradise_2.11.8|3.0.0-M5|jar

problem in scala-ide 4.4.1:

Xplugin-require needs macroparadise to discover from Xpluginsdir jars
meta-paradise-plugin does not work

@olafurpg Can you take a look at this please?

I think we can make the two the same
Here: https://github.com/scalameta/paradise/blob/280a8762c661d8be7782e7ec8c2f87a6d29b4afe/plugin/src/main/scala/org/scalameta/paradise/embedded/scalac-plugin.xml#L2
and here: https://github.com/scalameta/paradise/blob/280a8762c661d8be7782e7ec8c2f87a6d29b4afe/plugin/src/main/scala/org/scalameta/paradise/Plugin.scala#L17
Which one do you prefer @xeno-by, meta-paradise-plugin or macroparadise? I think meta-paradise-plugin is better.

I think meta paradise is more consistent

This is strange. These two names are different in macro paradise 2.x, too:

https://github.com/scalamacros/paradise/blob/2.11.8/plugin/src/main/scala/org/scalamacros/paradise/embedded/scalac-plugin.xml#L2
https://github.com/scalamacros/paradise/blob/2.11.8/plugin/src/main/scala/org/scalamacros/paradise/Plugin.scala#L11

I'll debug this one of these days and figure this out definitively.
I think, we'll need to keep macroparadise in order to retain backward compatibility with macro paradise 2.x. After all, 3.x and 4.x not only support new macro annotations, but also support old macro annotations.

I've briefly taken a look at the place inside the Scala compiler where compiler plugins are loaded. It seems that the <name> from scalac-plugin.xml only affects error messages, so we can put anything we want there.
I suggest we maintain backward compatibility, and use whatever macro paradise 2.x is using, i.e. macro-paradise-plugin.
@Andrei-Pozolotin What kind of problems are you encountering? -Xplugin-require:macroparadise works for me. I guess, there's some problem specific to Scala IDE?

@xeno-by
the problem is "confusion":

here: https://github.com/scalameta/paradise/blob/master/README.md
you say -Xplugin:<paradise>, which prompts for search for "what you mean by <paradise>"?

the search results in 2 names:

macroparadise
meta-paradise-plugin

since I want meta and not macro,

I choose meta-paradise-plugin,
and that does not work :-)

so, it would help to:

clarify and verify your examples
use single consistent naming throughout

thank you

probably should clarify: we do not use -Xplugin. instead, we collect all plugins jars in a single directory Xpluginsdir and then load them by plugin names via Xplugin-require:

It is unfortunate that we use two different names in scalac-plugin.xml and in Plugin.scala, but I'm not sure whether we can change that at this point. I think we should provide clear instructions instead, so that noone has to grep the source code in the first place.
Using @olafurpg's excellent template project for new-style macro annotations, I created a tutorial that explains writing such macros and goes through environment setup instructions: https://github.com/xeno-by/tutorial/tree/macros. @Andrei-Pozolotin, would you have time to contribute to the Eclipse section of the tutorial?


ODBC Table Types

Seems like the ODBC Data Source makes assumptions about the supported table types when calling SQLTables(). Specifically, it seems to specifically call it passing TABLES, VIEWS as the table types filter, and then furthermore discards any entry in the result set with a different table type.
Is there a reason for this restriction?

Correct, the underlying code filters the tables using TABLES, VIEWS. We don't appear to provide any configuration options around this.
You can override the call to SQLTables however, similar to overriding SQLColumns and SQLGetTypeInfo. The signature would look something like:
SQLTables = (catalogName, schemaName, tableName, tableType, sourceTable) => ...

Where sourceTable is equal to the results of the original SQLTables call.


Rocket page: Hot fix for rocket page

In this part of the project I did the following:

Add a condition so that the app only fetches data once;
Change all functions in MyRocket component and Rocket card to Arrow function
Add more styling to the Rocket page

STATUS: APPROVED ✅
Hi @ndorrh,
Your project is complete! Great job for nailing it right on the first attempt 🥇. There is nothing else to say other than... it's time to merge it 🍾🚢 🚢. Congratulations! 🎉💯🌟
To highlight 🍾

All linters are passing ✔
Good commit history ✔
Followed Github flow ✔
Professional README file. ✔
PR has a good title and description ✔

Cheers and Happy coding!👏👏👏.


Release/v4.0.5

READY FOR REVIEW
Summary

#361

Review By (Date)

EOD July 24

Review Tasks
Setup tasks and/or behavior to test

Look at code

Thank you @sherakama !


There is a scheduled job in the customer production environment, which will be executed for a period of time and will not be executed

How Can I do?

Provide detailed information about your setup and what you have tried so far to solve it yourself.
Otherwise this issue should be closed, because it lacking the essential infos to tack down the problem.
'customer production environment' i.e. isn't a helpful information.


Moving your awesome projects under an organization

Hi @Hackerpilot,
I know that you are quite busy, so I am not so sure whether you have seen that here the same (trivial) PR is pending in the queue three times:

Of course as mentioned before, I am quite aware that your time is limited. However, I was wondering on your thoughts of moving (a) moving your projects under a GH org or (b) giving some key people like @BBasile merge rights, s.t. such simple PRs can be handled without you.
Thanks a lot in advance for considering this.

@Hackerpilot
I agree with this, simple fixes take far too long to make their way into master. Having more people to maintain the repo will make those one line bug fixes get into master quickly. One bug was fixed, just to find another one and now it's been over a month that has been mostly waiting on pull requests to be merged here before the feature in another project can be implemented.

I agree too. Dscanner is tested in the cloud and in addition the "review required" system could be enabled, which would acts as a barrier against any major error (or too quick self merge). In a first time you could add a contributor to the project and if the situation persists maybe it'll be time for you to think to the organisation.
That being said, @wilzbach and @sprinkle131313 don't forget that because of the submodule system, adding a contributor would not solve all the possible problems, i.e when libdparse is also involved (as shown recently with the IfCondition bug that was not solved in a very straigth way...).

That being said, @wilzbach and @sprinkle131313 don't forget that because of the submodule system, adding a contributor would not solve all the possible problems,

That's exactly why I suggested to move all these projects to a guarding GitHub organization:

@wilzbach, can be speak on IRC (d): DotBatch

@wilzbach, can we speak on IRC (d): DotBatch

Sorry I am currently on a plane - however feel free to ping me via mail (I will get back to you as soon as I can).

Sorry I am currently on a plane

I can't complain.

Sorry I am currently on a plane - however feel free to ping me via mail (I will get back to you as soon as I can).

@BBasile @sprinkle131313 I am finally back :)
AFAICT atm we are stuck in a limbo and without feedback from @Hackerpilot there aren't many options:

A: stay with the current "status quo"
B: fork all Dscanner, libdparse etc. in a maintained GH community organization. Invite @Hackerpilot to the organization or otherwise backport his future work.

What are your thoughts on this? Do you have other ideas?
Btw one related idea is the creation of a dlang-community GH organisation to avoid the problem of forking a popular library for every small maintenance work. Maybe the same org could be used for Dscanner etc. as well?

Would the name need to be changed for option B? In the case of dub projects and such. It would be preferable if the projects were moved to an organization by @Hackerpilot but it seems he's not even willing to talk about potential solutions for one reason or another. I'd say option B is better than A, I honestly am tired of waiting weeks/months for a single one line patch to get pulled in. I already build and use my own versions of these tools for the most part.
As for the dlang-community organization that would still require @Hackerpilot to give that community merge rights?

@Hackerpilot has already given all licensing rights required, yay Boost!
The Org will need proper planning, e.g. how do you handle PR's?
Can the author of a PR pull their own ext.
But this should be handled on IRC + a wiki.
On Thu, Mar 23, 2017 at 6:03 PM, sprinkle131313<EMAIL_ADDRESS>wrote:

Would the name need to be changed for option B? In the case of dub
projects and such. It would be preferable if the projects were moved to an
organization by @Hackerpilot https://github.com/Hackerpilot but it
seems he's not even willing to talk about potential solutions for one
reason or another. I'd say option B is better than A, I honestly am tired
of waiting weeks/months for a single one line patch to get pulled in. I
already build and use my own versions of these tools for the most part.
As for the dlang-community organization that would still require
@Hackerpilot https://github.com/Hackerpilot to give that community
merge rights?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Hackerpilot/Dscanner/issues/421#issuecomment-288618354,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA8l8wdGkAvz_5ujNKFxuFvvob-HI7RIks5rof0-gaJpZM4MTSGi
.

The Org will need proper planning, e.g. how do you handle PR's?
Can the author of a PR pull their own ext.

But this should be handled on IRC + a wiki.

Yeah it definitely needs to be documented, but why IRC?

Would the name need to be changed for option B? In the case of dub projects and such. It would be preferable if the projects were moved to an organization by @Hackerpilot but it seems he's not even willing to talk about potential solutions for one reason or another.

Yes and yes.

As for the dlang-community organization that would still require @Hackerpilot to give that community merge rights?

No, forking doesn't require his permissions. However as you mentioned for the dub projects a different name is required.

B: fork all Dscanner, libdparse etc. in a maintained GH community organization. Invite @Hackerpilot to the organization or otherwise backport his future work.

As we don't seem to make much progress, I did the first step and forked the repos into dlang-community, created a team that has write access to these repos and invited everyone who has participated in this discussion to the team.
So in case we don't want to stay with option A (status quo), there are two remaining questions to be solved:

(from @sprinkle131313) How do we name projects on DUB?

Using -community as a suffix could work

(from @rikkimax) How do we handle PRs and merge rights in the future?

Naive solution:

every non-trivial PR should be approved by someone else
contributors who have earned credibility by submitting valuable contributions (can) gain merge rights

I propose to talk on d IRC. Now PLZ.

@Hackerpilot
Sorry for being so unresponsive over the last week, unfortunately I can be busy as well :S
Anyhow, I assigned you full admin rights for the DLang Community organization, so please feel free to delete the forked repositories and move yours to the community :)


typo: widows -> windows

@nschonni : Thanks for your contribution! The author, @mikeblome, has been notified to review your proposed change.

Reviewed editorial correction.


Listen to review dismissals

Summary
When a review is dismissed, the status should update based on other reviews. If there are no other reviews, it should go back to unreviewed. If there are other reviews, the status should depend on them.
Steps to reproduce
Review a PR and approve it. Then dismiss the review.
What is the current bug behavior?
The label stays the same.
What is the expected correct behavior?
The label is removed and goes back to unreviewed.

@nesl247 Sorry not to replay it. I appreciate your feedback. I'll look into it.

@nesl247 I fixed the issue and released. Thank you for your help.

Thanks!


Use updated OS packages at build time

Due to how significantly out of date the various base images get, this
adds an apt-get upgrade step to the various Dockerfiles to ensure that
updated operating system packages are included. This will also help
prevent this image from becoming too outdated when OS packages are
discovered to contain CVEs in the future.
@reviewbybees @jeffret-b @jenkinsci/docker

I do not mind to do so, but we have exactly 0 testing of the Docker images in this repo. How can we be sure that upgrading all packages to the latest version does not break the system?

Agreed with @oleg-nenashev, we need some testing in here before merging this. I am of course in favor of having up-to-date OS packages.

We can add more bats tests if that builds confidence in updating the operating system components, but I think that even without additional tests, we're still better served by using the latest package from the operating system supplier.
I've been using apt-get update && apt-get dist-upgrade in my Docker images for a while so that I could receive the latest operating system updates.  I rebuild my Docker images very frequently (every time there is a configuration change in my test environment) and haven't encountered any problems I could attribute to using latest operating system components.
We may need some additional monitoring or oversight on the Docker jobs.  It seems that the master branch has not had a successful build in about 2 weeks.  Are images posted to dockerhub from the master branch based on the periodic execution of master branch builds, or are they posted to dockerhub from some other location?

they are published with a dockerhub autobuild https://hub.docker.com/r/jenkins/slave/builds

the broken builds fail on publish-experimental

I do not mind to do so, but we have exactly 0 testing of the Docker images in this repo. How can we be sure that upgrading all packages to the latest version does not break the system?

Did you miss the part where I had to rerun this build due to a failing test? There are tests, just not 100% coverage.

What tests, in addition to the ones already included here or mentioned, would need to be added to make this acceptable? It's certainly never going to be fully tested or able to prevent all failures.
As mentioned, I think we're better off by keeping current with packages and avoiding known problems and vulnerabilities while running the chance of a new problem creeping in. My experience is that such failures in OS level packages is relatively rare. We may have more concerns with the installed JDK itself, but even then there are advantages to keeping current.
One way to soften concerns might be to have a mechanism for current up-to-date versions and another for a stable version, matching the Jenkins weekly and LTS releases. I'm not sure that's necessary, but that approach could help move us along the right direction.

Another way to reduce chances for regression as well as security vulnerabilities is to not use the openjdk images as a base since they're frequently outdated and contain a lot of unnecessary packages. I'd provide a PR to switch these to use Ubuntu or Debian directly or some other OS, but that would still be met with the same impenetrable wall of "how do you test this"? To that, I ask, how do we test the existing releases?

Thanks @oleg-nenashev .  Can you explain further the types of tests which would best be applied to this layer of the system compared to the other layers of the system?
I think we have the following identifiable testing layers in Jenkins distribution:

Plugins tested individually by their unit tests
Plugins tested in combinations by the plugin compatibility tests
Jenkins core tested by its automated tests
Jenkins versions tested with plugin versions by the acceptance test harness

I think the Docker layer would be best to test things that are specific to this layer and layers which depend on it.  Some of the tests that I can envision might include things like:

Check that the image includes git and git lfs and other critical dependencies
Check that the Java image is the latest released Java patch (assuming Java releases always include security related fixes)
Check that the package versions in the docker image (after upgrade or dist-upgrade) do not contain known vulnerabilities (not sure which tool is preferred or most helpful)

Are those reasonable test ideas?
Do you have other test ideas to recommend?

@batmat I was thinking more of functional tests in this case. Cheers.

Cool, so we are covered indeed. Thanks Fred


Provide a Flatpak as software package — for Linux systems

Flatpak is a technology for building, distributing, installing and running applications – primarily targeted at the Linux desktop.
I use Arch Linux, and while there is an "official" package for Opera, it would be awesome to have the option to install it via a Flatpak.

Why choose Flatpak over Snap or AppImage?

So, you guys silently made a Snap package with no feedback whatsoever. Are there any chances you can make a Flatpak?
Most distros won't be able to use the Snap package.


Check VP assist page for TDX guest

drivers/hv/hv_common.c: hv_common_init()
  /*
 * The VP assist page is useless to a TDX guest: the only use we
 * would have for it is lazy EOI, which can not be used with TDX.
 *
 * TODO TDX: UH doens't require this on TDX right now, but we may
 * want it in the future?

Address this TODO

@chris-oo do we have any suggestions about how to address this TODO?


Manage Collaborators Deployment Reviewers in code

User Story
As a user of the Modernisation Platform
I want to be able to manage deployment reviewers in code.
So that we reduce the number of queries in the ask channel from users who have been manually added and then automatically overwritten from a deployment.
User Type(s)
Manually added (click-ops) Deployment Reviewers.
Value
Helping to maintain our goals and principles of Infrastructure as Code (IaC) wherever possible and also reducing queries in the ask channel requesting users to be added and/or approving deployments.
Assumptions / Hypothesis / Questions / Unknowns

Definition of done

[x] Have a collaborator review deployments via code (not just terraform, maybe a script, whatever is possible)
[x] Update docs on collaborators
[x] another team member has reviewed
[x] tests are green

Reference
How to write good user stories

A few thoughts on this one: can we add the collaborator slugs to the environments/$application.json and then use some jq to retrieve them and patch them in through the git-create-environments.sh script?
I know it's a second place to add collaborators, but I think it's a better approach to keep application-specific options in the app json.

reference for previous unmerged issue / pr to amend deployment reviewers https://github.com/ministryofjustice/modernisation-platform/issues/4516

Created a branch containing the wip for the new function to add additional reviewers ( https://github.com/ministryofjustice/modernisation-platform/compare/main...feature/additional-reviewers )

PR merged in containing the new add_additional_reviewers function https://github.com/ministryofjustice/modernisation-platform/pull/4945

https://github.com/ministryofjustice/modernisation-platform/pull/4950 merged in following some issues with the script. however, this still does not update GitHub correctly and nothing obvious in the logs to explain why. I will need to add the debug flag (set -x) back in and then update an environment to hopefully catch the error. or try and get https://github.com/nektos/act running locally to test.

PR Ready for review: https://github.com/ministryofjustice/modernisation-platform/pull/5014

another documentation update (https://github.com/ministryofjustice/modernisation-platform/pull/5026) and removal of additional debugging flags (https://github.com/ministryofjustice/modernisation-platform/pull/5024). All completed and working as expected, I am therefore closing this ticket.


BasicGridElement early stage

BasicGridElement early stage

#86

Could you show the code that use this draft? So I tried again.
I've tried also this method.
I add into Umbraco a class model as:
`using Nikcio.UHeadless.Base.Properties.Commands;
using Nikcio.UHeadless.Basics.Properties.EditorsValues.BlockList.Models;
using Nikcio.UHeadless.Basics.Properties.Models;
using Nikcio.UHeadless.Core.Reflection.Factories;
using HotChocolate;
using Nikcio.UHeadless.Base.Properties.Models;
using Umbraco.Cms.Core.Strings;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Extensions;
using Umbraco.Cms.Core.Models;
using Newtonsoft.Json;
namespace UGCare.Models
{    ///
/// Represents a rich text editor
///
[GraphQLDescription("Represents a grid editor.")]
public class GridPropertyValue : PropertyValue
{
    [GraphQLDescription("Gets the value of the grid editor.")]
    public virtual string? Value { get; set; }

    public GridPropertyValue(CreatePropertyValue createPropertyValue) : base(createPropertyValue)
    {
        var value = createPropertyValue.Property.GetValue(createPropertyValue.Culture);

        var content = createPropertyValue.Content;
        if (content == null)
        {
            return;
        }

        foreach (var item in createPropertyValue.Content.Properties)
        {

        }

        string alias = createPropertyValue.Property.Alias;
        Value = createPropertyValue.Content.GetProperty(alias).GetValue().ToString();

    }
}

}`
and from startup I call:
.AddUHeadless(new()                 {                     PropertyServicesOptions = new()                     {                         PropertyMapOptions = new()                         {                             PropertyMappings = new() {                     propertyMap => propertyMap.AddEditorMapping<GridPropertyValue>("Umbraco.Grid")                 }                         }                     }                 })

@biapar Please update this PR with the code above if that's the best solution 😄

Hi @biapar,
After testing this implementation and having it under serious consideration I've decided not to include this model in the package. With the new Grid Block editor implementation coming in 10.3 and the old Grid editor being deprecated soon I don't think there's a great argument to support the editor. Furthermore, your implementation of the model doesn't offer an output on the same quality level as the other editors because it doesn't offer any way of customizing the editors inside the grid and is just a raw JSON string.
Remember you can always implement the model in your own projects.

I think that the basic implementation like here https://github.com/nikcio/Nikcio.UHeadless/pull/90#issuecomment-1268728988 it's enough at moment.
When will be out the 10.3?

https://umbraco.com/blog/umbraco-103-release-candidate/


bazel: link validation libraries into test executable

The bazel-built test executable was executing but not succeeding because the
validation code was not getting linked in at compile-time and the test used
lazy duck-typing to validate. This patch

makes the test fail loudly if an input doesn't implement the correct
interface
updates the bazel rule to link in the validation code
fixes the test code so it imports the validation code
modifies the CI script to also run the tests via bazel

@rodaine can you take a a pass as well?


Uncaught Error: Pane has been destroyed

[Enter steps to reproduce:]

...
...

Atom: 1.33.0 x64
Electron: 2.0.11
OS: Unknown Windows version
Thrown From: Atom Core
Stack Trace
Uncaught Error: Pane has been destroyed
At D:\GreenSoft-AppData\IDE\atom-x64-windows\Atom x64\resources\app\static\<embedded>:11

Error: Pane has been destroyed
    at Pane.activate (D:/GreenSoft-AppData/IDE/atom-x64-windows/Atom x64/resources/app/static/<embedded>:11:463282)
    at NotificationElement.t.exports.NotificationElement.removeNotificationAfterTimeout (D:/GreenSoft-AppData/IDE/atom-x64-windows/Atom x64/resources/app/static/<embedded>:11:890771)
    at NotificationElement.t.exports.NotificationElement.removeNotification (D:/GreenSoft-AppData/IDE/atom-x64-windows/Atom x64/resources/app/static/<embedded>:11:889657)
    at NotificationElement.t.exports.NotificationElement.handleRemoveNotificationClick (D:/GreenSoft-AppData/IDE/atom-x64-windows/Atom x64/resources/app/static/<embedded>:11:889774)
    at HTMLDivElement.<anonymous> (D:/GreenSoft-AppData/IDE/atom-x64-windows/Atom x64/resources/app/static/<embedded>:11:886091)

Commands

Non-Core Packages
language-markdown 0.27.0
markdown-image-paste 2.5.2
markdown-preview-plus 3.7.1
markdown-scroll-sync 2.1.2
markdown-table-editor 1.1.1
markdown-writer 2.11.3
simplified-chinese-menu 5.3.5

Thanks for the report!  Can you confirm a few things for us?

What were you doing at the time of the error?
Is the error is reproducible?
If reproducible, do you see the error in safe mode (atom --safe)?

I'm installing markdown-scroll. And it's also show this "Uncaught TypeError:Right-hand side of "instanceof" is not callable".

Yes, it is. But I don't know how to get in safe mode.

I'm installing markdown-scroll. And it's also show this "Uncaught TypeError:Right-hand side of "instanceof" is not callable".

@Novelname - so you're seeing the exact same error and stack trace reported in this issue in addition to the one you mention above?

Yes, it is. But I don't know how to get in safe mode.

You can run Atom in safe mode as described in https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode.


Mac Support

Has this been tested on Mac?
I couldn't get it to work.
Seems like the dolphin directory layout is different, so the User directory is not in he same directory as the emulator executable.

Ah ok, maybe the User dir should be able to be specified in config.json.
The code in dolphinrunner.py should get it from there, or default to checking the executable directory...
Feel free to submit a patch or fork this project!

I also want to see this tested for mac, I use a mac and want to see this work.


Useful but no wild cards

Hi this utility would be far more useful if it allowed wild cards or the ability to list hardlinks for files in subfolders (recursive)

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

ID: 2190368d-26b5-ce9c-69f0-572a26dfd3e8
Version Independent ID: 8c513170-c256-af58-7197-b3aeaeb69440
Content: Fsutil hardlink
Content Source: WindowsServerDocs/administration/windows-commands/fsutil-hardlink.md
Product: windows-server-threshold
GitHub Login: @toklima
Microsoft Alias: toklima

Consider using PowerShell to create your symlinks.

Symlinks are already created.  Trying to find verify previously existing.
On Sat, Mar 2, 2019, 11:50 Thomas Lee<EMAIL_ADDRESS>wrote:

Consider using PowerShell to create your symlinks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/windowsserverdocs/issues/2492#issuecomment-468943179,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AoUQ45bkoSKVyhvBhLiVGJGG3VDW0v6-ks5vSrnQgaJpZM4bZgnf
.

YOu can do that too in PowerShell: see: https://docs.microsoft.com/en-us/powershell/wmf/5.0/feedback_symbolic to get started.


Issue with the scroll when going back from an article

After pressing the "close X" in a post to go back to the list, the PWA doesn't remember the scroll position of the list, it leads you to the beginning of the list instead of where you were.

Blocked until we decide the best workaround.

I know what they want, I meant what workaround we use for now. If you agree to use "goToPreviousContext" (which is the only viable option right now anyway, I think).

@luisherranz Oh sorry for the misunderstanding... I don't know what is the behaviour of "goToPreviousContext"

Closed at eff630379a55eaf949451d75bcc802b2a458151d and https://github.com/wp-pwa/wp-org-connection/commit/47d171472040e5b83c38c25debc2f6ab317b437e


Harmonize the behaviour when a user try to access a module which was deleted

Currently it seems that:

some projects can still be accessed after it was deleted if we know the URI.
trying to access a deleted module returns 404
trying to access a specific version of a module returns a 500 because of a NullPointerException in com.sixsq.slipstream.module.ModuleResource.authorizePut(ModuleResource.java:586)
trying to access a deleted module where we don't have access return 403 Forbidden

This will not apply with the CIMI module