Add tutorial for an "Android Application with Secure User Authentication"

Add tutorial for an "Android Application with Secure User Authentication", to allow users to login and store data from the application. Include simple app with tutorial.
200 Points

F16 OK (200 pts)


Data endpoint for Margeaux

Margeaux needs an endpoint (can be a URL manually typed in after logging in) that produces in JSON:

Real and actual TVA values (all indicators)
GAIT ID
Count of indicators
Count of indicators with targets
Count of indicators with results
Count of results
Count of results with evidence
Count above/on/below target (scope)
Country code

this should be organized by GAIT ID and should pull for all programs that the user has access to (associative JSON array, keys are GAIT ID)
As a reach goal an adjacent endpoint can address #969

@camgnostic Ok to pass this ticket, or are we still testing with Margaux?

@jennyhavah - should be good.  We have moved any further development on this ticket to its own larger ticket: #1937


APT whitelist request for qemu

Most of these are matches for user-mode emulation. Some of them are in filesystem-related code. The remaining call sites are part of an attempt at dropping privileges.


Need to create parent directory

Got this error on cf configure:
2018/07/31 12:55:53 Could not configure cf cli: open /Users/abraithwaite/.cf/credentials: no such file or directory

Yikes. Nice catch: https://github.com/ejcx/cf/commit/298ac29cda3301777815bdb4387a0ef03232ec16


LinkPrefetchObserver: listen for complementary events

Prior to this commit, the LinkPrefetchObserver only listened for mouseleave events to clear the PrefetchCache instance. Not only were mouseenter events excluded, but the mouseleave event listeners were attached directly to the <a> element with a { once: true } option.
While unlikely, its was for those event listeners to never be removed if a mouseleave were to not fire. Similarly, during touchstart events the event listener were added, but never removed since there wasn't a a complementary mouseleave event firing to remove it.
This commit makes two changes to the event listeners:

extract the addEventListener calls to a loop, looping over mouseenter and touchstart event names
define complementary events for both mouseenter and touchstart

By moving the cancellation logic out of individual event listeners and into an this.eventTarget-wide scope, we limit the risk of leaking listeners. Similarly, we only ever instantiate one per event-pairing.
To track the <a> element reference, define both a this.#tryToCancelPrefetchRequest method and a this.#linkToPrefetch property to hold the reference to the <a> element in question.

Closing in favor of https://github.com/hotwired/turbo/pull/1167.


Node.js Foundation Community Committee Meeting 2018-05-03

Time
UTC Thu 03-May-2018 16:00 (04:00 PM):

Timezone
Date/Time

US / Pacific
Thu 03-May-2018 09:00 (09:00 AM)

US / Mountain
Thu 03-May-2018 10:00 (10:00 AM)

US / Central
Thu 03-May-2018 11:00 (11:00 AM)

US / Eastern
Thu 03-May-2018 12:00 (12:00 PM)

London
Thu 03-May-2018 17:00 (05:00 PM)

Amsterdam
Thu 03-May-2018 18:00 (06:00 PM)

Moscow
Thu 03-May-2018 19:00 (07:00 PM)

Chennai
Thu 03-May-2018 21:30 (09:30 PM)

Hangzhou
Fri 04-May-2018 00:00 (12:00 AM)

Tokyo
Fri 04-May-2018 01:00 (01:00 AM)

Sydney
Fri 04-May-2018 02:00 (02:00 AM)

Or in your local time:

http://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Community Committee+Meeting+2018-05-03&iso=20180503T16
or http://www.wolframalpha.com/input/?i=04PM+UTC%2C+May+03%2C+2018+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1B1niZ3uIDEtOdksQgIjWH_M0vhcjNmX9PFSuz9NajUA/edit

Agenda
Extracted from cc-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/build

Bots + Apps in the Org #1247

nodejs/TSC

Wiki Management #525

nodejs/admin

Travel Fund approval and being careful about funds available #99

nodejs/community-committee

CommComm Membership: Call For Feedback on New Definitions #276
Record and serve the meetings in audio format  #232

nodejs/user-feedback

2018-04-27 Public User Feedback Meeting - Enterprise Use Case #52

nodejs/mentorship

We need more active members of the WG #32
Set a Code of Conduct for mentors and mentees #31
Create a mentorship subgroup focused on to identify 6 month projects in Node.js #30

Invited

CommComm Members: @nodejs/community-committee

Observers

@DiegoZoracKy (Diego ZoracKy - observer)
@ZibbyKeaton (Zibby Keaton - observer)
@Bamieh (Ahmad Bamieh - observer)
@pchrysa (Chrysa - observer)
@foadlab (observer)
@codeekage (Abraham Agiri - observer)
@Voskan (Voskan Voskanyan - observer)
@waleedashraf (Waleed Ashraf - observer)
@maddhruv (Dhruv Jain - observer)
@elainechan (Elaine Chan - observer)
@Jiasm (贾顺名(shunming jia) - guest)
@detrohutt (guest)

Notes
The agenda comes from issues labelled with cc-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: Will be added a few minutes before meeting starts
For those who just want to watch:
youtube admin page: https://www.youtube.com/my_live_events?filter=scheduled

I'll be missing this one because I've been onboarding at my new job all week, but I can't wait to participate again!!!

when would be the link up for the participants?

It will be posted here on this thread shortly before the meeting begins at 17:00 UTC. You are welcome to join as our guest! 👏🏽

For those interested in watching the CommComm meeting: https://www.youtube.com/nodejs-foundation/live
For invited observers and members: https://zoom.us/j/193588946

Membership AWAITS Me!! Can someone please help check my attendance status for membership?
Thank you!

@codeekage Me too 🎉
Check here: http://www.nodejsparticipants.info/nodejs/community-committee.html

just the invite mail!! 🎉


add operational_metrics support

@memodi please have a look at https://github.com/netobserv/flowlogs-pipeline/blob/e4c38d75c32ecc49b639fce89516a83e0bd272fc/docs/operational-metrics.md those are the new operational metrics that should help us to understand if and how FLP is working. If needed we can add more, please advise :-)
@jotak FYI ^^^

thanks @eranra these will be certainly helpful. Added couple of comments on naming but probably have more feedback once I actually test it.
Couple of questions:

are these enabled by default?

Yes, as long as you enable the Prometheus encode stage. Currently, this is NOT the configuration in NOO so we will need to change that for those metrics to be available for you :-)

will these be pushed to Prometheus?

YES

I believe once this task https://issues.redhat.com/browse/NETOBSERV-247 is finished, we'd be also able to grab these metrics from the FLP endpoint, correct?

@jotak please help with (3) --- I think that the answer is yes, but just want to be on the safe side here.


Line too long in stan-reference pdf

Summary:

The file is the version 2.12.0 of the reference manual.
Disclaimer
I added this issue in the wrong place. I still don't know if this is the right place. If it's not, sorry again.
Álvaro.

Thanks for reporting.  I moved this to #2122.  We always have (or should have) a manual issue going for the next release.  The one for 2.13 just got merged, so we may not get these changes in until 2.14.


models: adding unicode support

Adding unicode support for ObjectVersion. Closes #178

Please have a look at the failing tests.

@roksys this needs rebase :)


Firebase Cloud function imagemagick composite command to overlay images

i am trying to over image on another image using imagemagick on cloud function and looked into the imagemagick command like this:
convert a.png b.png -gravity center -composite result.png

i know it doesnt work like that in firebase cloud function so i looked for example and have something like this:
return spawn('convert', [tmpFilePath, tmpFilePath2, '-gravity', 'center', '-composite', tmpFilePath3]);
i get an error like this :
ChildProcessError: convert /tmp/default.jpg /tmp/IMG_4947.JPG
  -gravity center -composite /tmp/newimage.jpg failed with code 1

@abhishekjinxed Did you ever figure out what that issue was? I'm getting the same thing..


Show documentation comments of parent class/interface methods

Having a base, virtual class with really well documented methods, like:

I loose these documentation comments when I create a class inheriting/implementing the base class:

I would like to see the documentation comments of overriden method.

/extC++

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!

cpp-tools issue: https://github.com/microsoft/vscode-cpptools/issues/5187


WIP: bos-tasks-whkbb: Update translations from Fedora Zanata

Update translations from Fedora Zanata

[ ] po-refresh

po-refresh in progress on bos-tasks-whkbb.
Log: http://fedorapeople.org/groups/cockpit/logs/po-refresh-445-20181126-065151/


Please advise (not a Bug!)

Have you read the FAQ and checked for duplicate issues:
yes
What version of Shaka Player are you using:
2.2.8
Can you reproduce the issue with our latest release version:
we use the latest Version
Can you reproduce the issue with the latest code from master:
didnt try
Are you using the demo app or your own custom app:
both
If custom app, can you reproduce the issue using our demo app:
no
What browser and OS are you using:
chrome, FF, Edge
What are the manifest and license server URIs:
https://nx-p01.akamaized.net/c950b062-9407-4335-afc3-8cd3200c37ea/3c1d302a-9b71-4d38-a4cb-5d8a27c81302.ism/Manifest(format=mpd-time-csf)
(this wont be alive forever)
What did you do?
load Manifest and wanted to playback
What did you expect to happen?
Stream starts
What actually happened?
We received a "stalled" Event from the underlying Video Object.
I know, this is not a Bug, we are doing something wrong obviously.
This is a DASH-LIVE-DVR Stream, which worked at the Beginning of the Stream fine in our Players. Now, 1.5 Hours later, we only get "stalled" and the Stream does not start - but it works fine in your Demo Player.
I am quite new to this Topic, so I suppose, in case of LIVE-DVR Stream, we maybe have to manually set the Start Point of the Stream ("NOW")? Is that true? Can you give me a Hint, how to set that? I couldnt find anything in the Docs for that (but I may have missed that).
Or is there any other Reason for the "stalled" Event happening (I can also see, that the Manifest gets called permanently, which results in a 304 Response from the Media Server).
Thanks!

Actually, I'm not certain, but it looks like a bug.  With the latest code, it does not start up well.
It seems to start playback at the start of the seek range instead of the end, which makes me think we have a bug.
If I seek to the middle of the seek range, it will eventually start playing.  It won't play within the last few minutes of the seek range, which makes me think the stream is also drifting a bit.
I will investigate.  Thanks for the report, and the manifest link to reproduce it!

Oh really?
Ok, I judt thought, I dont have enough Knowledge here...
But fine, Ill try to let the Stream on as long as possible...
As always, thanks a lot!

It's pretty difficult to diagnose content issues, especially with live streams.  It's not your fault.  I wish live streaming were simpler.

http://dashif.org/conformance has some sort of dynamic manifest validator builtin - you might try that on your stream if you have not already. It shows up as a link if you feed it a dynamic manifest. I am not sure of its scope of features, however. Still, maybe it gives you some hints that enable further diagnostics. It seems to have trouble with your manifest when feeding a URL, though. When feeding the file as an upload, it reports some MPD validation errors.
@joeyparrish do you think there is anything in particular that could be done by whoever to make it easier to troubleshoot issues with live streams? I only recently started dealing with live and am fast running into difficulties in understanding behavior. As you say, it is pretty difficult. I wonder if you already have some thoughts on what could be the most "cost-effective" investments of effort for helping diagnose such issues? Could the DASH-IF conformance validator be amended to do more validation in some regard? Or would runtime diagnostics from players be more useful? What mechanisms do you use to understand such occurrences?

There are a few common patterns of things that go wrong with DASH streams, and I generally follow the same mechanical steps to diagnose content issues.  Usually, we find either an issue with availabilityStartTime or some drift.
We have considered building tools for this, but have never found the time.  Ironically, had we done it a year ago, the time savings would have paid for itself by now.

@boredom2 is the stream down? If so, @joeyparrish how do you want to proceed with this?

The "wrong start time" behavior can be reproduced with the DASH version of our live history stream, which is also suffering from drift.

The stream does recover in less than a minute, and on seek.  So it may not be a severe issue.  The UI is confusing, though, since it shows a large negative number until startup succeeds.


tests: set JSONIFY_PRETTYPRINT_REGULAR to True

Fixes jsonify for versions of Flask>1.0.0

Closes https://github.com/inveniosoftware/invenio-jsonschemas/issues/79
Signed-off-by: Dinos Kousidis<EMAIL_ADDRESS>

We could also instead limit Flask<1.0.0 in setup.py in case this pops up a lot.
It's happening because of a change in: http://flask.pocoo.org/docs/1.0/changelog/#version-1-0


Update / Delete events seem not to be shown despite of k8s-all-events configuration on Slack Channel

Description
In the basic configuration of k8s-all-events, values.yaml was set so that all messages for the four events can be seen on the Slack channel by adding Update event, but nevertheless, only create/error events are seen on the Slack channel.
Expected behavior

4 events must be shown on Slack Channel.

Actual behavior

Only Create / Error events could be found on Slack Channel.

Steps to reproduce
k8s-all-events watches event.types=all.

Hi @josefkarasek, here is what I declared below:
values.yaml
existingCommunicationsSecretName: "botkube-secret"

sources:
    "k8s-all-events":
      kubernetes:
        namespaces: &k8s-events-namespaces
          include:
            - ".*"
          exclude:
            - "kube-.*"
            - "karpenter"
            - "test"

        event:
          types:
            - all

        resources:
          - type: v1/pods
          - type: v1/services
          - type: networking.k8s.io/v1/ingresses
          - type: argoproj.io/v1alpha1/rollouts

botkube-secret (comm_config.yaml)
communications:
  default-group:
    socketSlack:
      enabled: true
      channels:
        default:
          name: {CHANNEL_ID}
          bindings:
            sources:
              - k8s-all-events

Hi @kworkbee, I haven't been able to reproduce the issue. I used botkube v0.18.0 with your configuration and the following commands:
$ k create cm test-1
configmap/test-1 created
$ k label cm test-1 key=val
configmap/test-1 labeled

In your testing,  are you emitting update events that actually result in updated kubernetes resource?
Possible solution
Botkube filters out update events when the new and old resources are identical:
https://github.com/kubeshop/botkube/blob/02abb23c4c0a9af0afdac7cb9021823fe081945e/internal/source/kubernetes/registration.go#L300-L309
Potentially you can hard-code which fields you want to include in the filter. For example:
https://github.com/kubeshop/botkube/blob/02abb23c4c0a9af0afdac7cb9021823fe081945e/helm/botkube/values.yaml#L251-L255
Let me know if this helps.

Sorry @josefkarasek, I still have trouble suffering the same issue.
I intend not to watch ConfigMap, so it won't work.
I also use v0.18.0, and in the result of dry-run, the following values can be found in the global config below.
## global-config
  sources:
      k8s-all-events:
        displayName: Kubernetes Info
        kubernetes:
          annotations: {}
          event:
            message: ""
            reason: ""
            types:
            - all
          labels: {}
          namespaces:
            exclude:
            - kube-.*
            - karpenter
            - test
            include:
            - .*
          resources:
          - type: v1/pods
          - type: v1/services
          - type: networking.k8s.io/v1/ingresses
          - type: argoproj.io/v1alpha1/rollouts
      k8s-create-events:
        displayName: Kubernetes Resource Created Events
        kubernetes:
          event:
            types:
            - create
          namespaces:
            include:
            - .*
          resources:
          - type: v1/pods
          - type: v1/services
          - type: networking.k8s.io/v1/ingresses
          - type: v1/nodes
          - type: v1/namespaces
          - type: v1/configmaps
          - type: apps/v1/deployments
          - type: apps/v1/statefulsets
          - type: apps/v1/daemonsets
          - type: batch/v1/jobs
      k8s-err-events:
        displayName: Kubernetes Errors
        kubernetes:
          event:
            types:
            - error
          namespaces:
            include:
            - .*
          resources:
          - type: v1/pods
          - type: v1/services
          - type: networking.k8s.io/v1/ingresses
          - type: v1/nodes
          - type: v1/namespaces
          - type: v1/persistentvolumes
          - type: v1/persistentvolumeclaims
          - type: v1/configmaps
          - type: rbac.authorization.k8s.io/v1/roles
          - type: rbac.authorization.k8s.io/v1/rolebindings
          - type: rbac.authorization.k8s.io/v1/clusterrolebindings
          - type: rbac.authorization.k8s.io/v1/clusterroles
          - type: apps/v1/deployments
          - type: apps/v1/statefulsets
          - type: apps/v1/daemonsets
          - type: batch/v1/jobs
      k8s-err-with-logs-events:
        displayName: Kubernetes Errors for resources with logs
        kubernetes:
          event:
            types:
            - error
          namespaces:
            include:
            - .*
          resources:
          - type: v1/pods
          - type: apps/v1/deployments
          - type: apps/v1/statefulsets
          - type: apps/v1/daemonsets
          - type: batch/v1/jobs
      k8s-recommendation-events:
        displayName: Kubernetes Recommendations
        kubernetes:
          recommendations:
            ingress:
              backendServiceValid: true
              tlsSecretValid: true
            pod:
              labelsSet: true
              noLatestImageTag: true

Since communication config uses SealedSecret, the values point to the secret and it consists of the following:
communications:
  default-group:
    socketSlack:
      enabled: true
      channels:
        default:
          name: {channelID}
          bindings:
            sources:
              - k8s-recommendation-events
              - k8s-all-events
      botToken: {token}
      appToken: {token}
      notification:
        type: short

  mattermost:
    enabled: false

  teams:
    enabled: false

  discord:
    enabled: false

  elasticsearch:
    enabled: false

  webhook:
    enabled: false

Really sorry but please can you re-produce this issue again? Still I can found that configuration above shows me events of [Pod create event, Pod / Node Error] only. Any update or delete events occurred despite of my retries.
I will provide the whole Helm value again. However, due to the company's security issue, some data were blinded.
botkube:
  image:
    registry: ghcr.io
    repository: kubeshop/botkube
    pullPolicy: IfNotPresent
    tag: v0.18.0

  podSecurityPolicy:
    enabled: false

  securityContext:
    runAsUser: 101
    runAsGroup: 101

  containerSecurityContext:
    privileged: false
    allowPrivilegeEscalation: false
    readOnlyRootFilesystem: true

  rbac:
    create: true
    rules:
      - apiGroups: ["*"]
        resources: ["*"]
        verbs: ["get", "watch", "list"]
    staticGroupName: &static-group-name "botkube-plugins-default"

  kubeconfig:
    enabled: false
    base64Config: ""
    existingSecret: ""

  sources:
    "k8s-recommendation-events":
      displayName: "Kubernetes Recommendations"
      kubernetes:
        recommendations:
          pod:
            noLatestImageTag: true
            labelsSet: true
          ingress:
            backendServiceValid: true
            tlsSecretValid: true
    "k8s-all-events":
      displayName: "Kubernetes Info"
      kubernetes:
        namespaces: &k8s-events-namespaces
          include:
            - ".*"
          exclude:
            - "kube-.*"
            - "karpenter"
            - "test"
        event:
          types:
            - all
        annotations: {}
        labels: {}
        resources:
          - type: v1/pods
          - type: v1/services
          - type: networking.k8s.io/v1/ingresses
          - type: argoproj.io/v1alpha1/rollouts
    "prometheus":
      botkube/prometheus:
        enabled: false
        config:
          url: "http://thanos-query-frontend.monitor:9090"
          ignoreOldAlerts: true
          alertStates: ["firing", "pending", "inactive"]
          log:
            level: info

  filters:
    kubernetes:
      objectAnnotationChecker: true
      nodeEventsChecker: true

  existingCommunicationsSecretName: "botkube-communication-secret"

  settings:
    clusterName: {clusterName}

    lifecycleServer:
      enabled: true
      port: 2113

    healthPort: 2114
    upgradeNotifier: true

    log:
      level: info
      disableColors: false

    systemConfigMap:
      name: botkube-system

  ssl:
    enabled: false
    existingSecretName: ""
    cert: ""

  service:
    name: metrics
    port: 2112
    targetPort: 2112

  ingress:
    create: false
    annotations:
      kubernetes.io/ingress.class: nginx
    host: "HOST"
    tls:
      enabled: false
      secretName: ""

  serviceMonitor:
    enabled: false
    interval: 10s
    path: /metrics
    port: metrics
    labels: {}

  deployment:
    annotations: {}

  replicaCount: 1
  extraAnnotations: {}
  extraLabels: {}
  priorityClassName: ""

  nameOverride: ""
  fullnameOverride: ""

  resources: {}

  extraEnv: []

  extraVolumes: []

  extraVolumeMounts: []

  nodeSelector: {}

  tolerations: []

  affinity: {}

  serviceAccount:
    create: true
    name: ""
    annotations: {}

  extraObjects: []
  analytics:
    disable: false

  configWatcher:
    enabled: true
    tmpDir: "/tmp/watched-cfg/"
    initialSyncTimeout: 0
    image:
      registry: ghcr.io
      repository: kubeshop/k8s-sidecar # kiwigrid/k8s-sidecar:1.19.5 - see https://github.com/kubeshop/k8s-sidecar/pull/1
      tag: ignore-initial-events
      pullPolicy: IfNotPresent

  plugins:
    cacheDir: "/tmp"
    repositories:
      botkube:
        url: https://github.com/kubeshop/botkube/releases/download/v0.18.0/plugins-index.yaml

Hmm... I found that botkube-runtime-config (_runtime_state.yaml) overrides the configuration declared in secret that I use.
It seems that it can be solved by changing the corresponding YAML.

I think I see where the problem is.
I recommend not to store botkube-runtime-config CM in git/argo. Instead store values.yaml. Then when you run helm upgrade, you get combination of new values from values.yaml and existing values in the config maps.
The config maps are for botkube itself to store its internal state.

Also for update events to work, provide updateSettings. Something like this:
https://github.com/kubeshop/botkube/blob/02abb23c4c0a9af0afdac7cb9021823fe081945e/helm/botkube/values.yaml#L251-L255

@josefkarasek Is there a way to disable persistentConfig?

I think you can resolve the issue by following the steps above.
Botkube persists its internal configuration, so it doesn't get lost during botkube pod restarts.

Thank you very much for your kind reply.
Let me close this issue.


Even if I cose the player, video is playing background

I have the same issue reported here.
https://support.jwplayer.com/customer/portal/questions/6062764-audio-continues-to-play-after-closing-in-ie
My player is in a bootstarp modal. Even if modal closed, its playing.
But have a problem. How can I use this code ?
jwplayer.stop();

Did you try calling jwplayer.stop?

This is the code I am using. At the end of the code, plz check I added above code. It's not working still.
https://gist.github.com/chanakaDe/3a7d9faf84bee310b3917d2a5fce6823
It gives this error.
VideoCtrl.js:132 Uncaught TypeError: Cannot read property 'stop' of undefined
Please tell me how to fix this. If you can, it's a great help.

In https://gist.github.com/chanakaDe/3a7d9faf84bee310b3917d2a5fce6823, I don't see where you are defining myPlayer2 which is why you are not successfully getting the player instance.
You need to pass the playerID you used on your jwplayer directive.
Once you can successfully get the player, you will be able to call .stop()

No action. closing


Ryan deblois

Just Let's work together not done =(

MVP
Home Page:
[x] Build the HTML and CSS to create the missing navigation and header.
[x] Link the About navigation item to the about.html page
[x] Give boxes on home page the provided background colors.
About Page:
[x] Copy and paste your home page navigation and header into the about page
[x] Update the header image with the about page image
[x] Link the Home navigation item back to the index.html page.
[x] Build the rest of the about page layout to match the design
Feedback:
Good job!
Some things to work on:

Watch out for extra divs in your code. A good way to check that is to select the opening div and then vs code should highlight where the closing div is located. If the closing div is in the wrong place then that generally means you have an extra closing div or potentially left off another tag somewhere in your code.

Cleaning up the extra divs and the places in your code where you have margin and padding where it doesn't need to be for example the header image that had a margin left of 520px. A good rule of thumb is if your having to put padding or margin on something with that many px's something else in your code is generally wrong that's making you have to do it that way.

Good job with the re-attempt! Looks much better!
Grade: 2


[SPARK-34327][BUILD] Strip passwords from inlining into build information while releasing.

What changes were proposed in this pull request?
Strip passwords from getting inlined into build information, inadvertently.
 https://user:pass@domain/foo -> https://domain/foo
Why are the changes needed?
This can be a serious security issue, esp. during a release.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Tested by executing the following command on both Mac OSX and Ubuntu.
echo url=$(git config --get remote.origin.url |  sed 's|https://\(.*\)@\(.*\)|https://\2|')

Hi @srowen, Please take a look.
Our build process uses the script build/spark-build-info to inline the build information into jars.
This should fix it. I have tested the command both on Mac OSX and Linux environment.

Test build #134769 has started for PR 31436 at commit c1558b0.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/39353/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/39353/

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

Test build #134769 has finished for PR 31436 at commit c1558b0.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Is this how your remote URL is set up by the way? seems insecure. You can have git supply credentials other ways to https repos.
No, this happens as part of running the release scripts. I wonder, why no one else is impacted.

I think people tend to use keychain feature instead of putting the password into the URL (?).

I think people tend to use keychain feature instead of putting the password into the URL (?).
@HyukjinKwon and @srowen
At this step https://github.com/apache/spark/blob/master/dev/create-release/release-tag.sh#L72 in the release script the user provided password is inlined.

That seems to work.
You might put in the description an example of what it is stripping: https://user:pass@domain/foo -> https://domain/foo
I suppose you can omit "https" to match http or any scheme.

AFAIK, This password inlining is not applicable to other schemes, so this sed will only perform substitution when https url are provided.

@ScrapCodes, just to clarify, this doesn't fix an actual issue but potential issue, is it correct? When we build the distribution, we don't use the URL with a password IIRC.

Yes, it is used to push a tag. However, a release maintainer can use the same clone to continue the rest of the release step. This is how, I made mistake and learnt the hard way.  Before creating the PR, I have checked if other releases are effected. Fortunately they are not.

LGTM

Merged to master, branch-3.1, branch-3.0 and branch-2.4.

Thanks, @ScrapCodes and all.
Yes, I also double-checked all Maven artifact's spark-core jars files and Apache Spark 2.4.5 (released by me). It seems that those look okay.

Fortunately they are not.


The nerdctl pull  will output logs through  the standard error stream.

Description
Even when no error occurs, the nerdctl pull someImage command will output the result logs through the standard error stream instead of the standard output stream . This can cause confusion.
If I call local nerdctl command by my golang code,I must get logs through StderrPipe .
Steps to reproduce the issue

Describe the results you received and expected
I hope that if no error occurs, the nerdctl pull command can output logs through the standard output stream
What version of nerdctl are you using?
cyxinda@oldsix [~] ➜  nerdctl --version                                                                                [16:29:56]
nerdctl version 2.0.0-rc.0
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
cyxinda@oldsix [~] ➜  nerdctl info                                                                                [17:03:53]
Client:
Namespace:     default
Debug Mode:    false
Server:
Server Version: v2.0.0-rc.3
Storage Driver: overlayfs
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Log: fluentd journald json-file syslog
Storage: native overlayfs
Security Options:
apparmor
seccomp
Profile: builtin
cgroupns
rootless
Kernel Version: 6.8.0-41-generic
Operating System: Ubuntu 24.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 46.96GiB
Name: oldsix
ID: ca3e7d2c-4de1-4e7f-8f44-791f0d59cd75
WARNING: AppArmor profile "nerdctl-default" is not loaded.
Use 'sudo nerdctl apparmor load' if you prefer to use AppArmor with rootless mode.
This warning is negligible if you do not intend to use AppArmor.
WARNING: No cpuset support
cyxinda@oldsix [~] ➜

Confirming that docker behavior is different.
docker rmi debian; docker pull debian >/dev/nul
nerdctl rmi debian; nerdctl pull debian >/dev/nul


Implement InstancedModule

InstancedModule is a base class for modules, which can be passed as instance to the viur-core.
Normally, the viur-core expects classes from modules and instantiates them during setup.
However, there are cases where you want to pass already instantiated
classes, i.e. module instances, to the core. For example, to integrate
plugins. This is where this base class comes into play. If it is included
as an ADDITIONAL base class to the module class, the viur-core accepts an
instance of this class. The class itself is then no longer
instantiated in the core.
In order to preserve the well-known ViUR module concept, this class
overwrites the init method so that it behaves like a classic object
constructor. The call method then takes on the role of the
conventional init module.
However, as each render requires its own module instance, as the render
itself is then referenced to this instance via the "render" attribute,
several instances are required. Therefore, a copy of the module instance
is created using the internal method _viur_clone. This can be changed
if necessary. A shadow-copy is created here by default.
Here an example:
from viur.core.prototypes import List
from viur.core.prototypes.instanced_module import InstancedModule

class MyModule(InstancedModule, List):
    def __init__(self, configuration):
        self.configuration = configuration

my_module = MyModule(
    configuration=...
)

As you can see, the configuration parameter is set from outside and not
in the class. This may seem a bit strange here, but now imagine that the
class definition MyModule is not within the same file but in an imported
pip package. Then this instantiation is much easier than using a subclass.

Did you notice any performance differences when you mounted a module via InstancedModule?

I have not done any benchmarking in this direction, but I have not noticed any subjective changes in performance. In the end, it would only affect the warmup. Everything else behaves the same later on.


feat: flow selective plugin

This optionally adds the gatsby-plugin-flow plugin if the consuming package has flow-bin installed in their dependencies or devDependencies.

Codecov Report

Merging #6 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #6   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      4    +1
  Lines          30     45   +15
  Branches        7      8    +1
=====================================
+ Hits           30     45   +15

Impacted Files
Coverage Δ

packages/gatsby-theme-dslemay-core/utils.js
100% <100%> (ø)

...ckages/gatsby-theme-dslemay-core/plugin-testing.js
100% <100%> (ø)
:arrow_up:

...ackages/gatsby-theme-dslemay-core/gatsby-config.js
100% <100%> (ø)
:arrow_up:

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 fc75f17...4c46a87. Read the comment docs.


Added share button in each card

Hello my friend,

I just added the share button in each card as requested.
Created a modal window that activates when you press the button. The modal is similar to youtube's share buttom and it uses components so in the future you might want to add more social media share buttoms.
Added some css to make it look nicer.
Added social media icons.

Hoping you like it,
Best regards,
Fernando

hey @Fernandojbf123, I think that there is a small mistake. This issue was first raised by me and also the author has assigned me to this issue as you can see and check #584 !

Hello my friend @jayk-gupta. Yeah, so sorry for the miss understanding. If you like the way i code it, use it and publish, no problem at all 😄
Best regards,
Fernando

Hello my friend,

I just added the share button in each card as requested.
Created a modal window that activates when you press the button. The modal is similar to youtube's share buttom and it uses components so in the future you might want to add more social media share buttoms.
Added some css to make it look nicer.
Added social media icons.

Hoping you like it, Best regards, Fernando

Can you share a small video of the changes you made?


Changes required for ManagedFusionDeployment Controller

This PR is raised as a replacement of https://github.com/red-hat-storage/managed-fusion-agent/pull/1 because after the repo was made public, the forks were acting as standalone repos so the PR was not getting updated.
Changes introduced in this PR:

Updating managedOCS controller to managedFusionDeployment controller
Removed the unrequired fields from the Reconciler struct
Update reconcilePhases to remove unrequired functions(keep the reconcile functions that are required for monitoring stack deployment)
Add reconcile function for managed-fusion-alertmanager-config secret, this secret will be passed to alertmanagerconfig for smtp password and pagerduty key
Removed managedOCS API
Update PROJECT file as the API was removed and point it to managed-fusion-agent repo
Remove readinessServer
Remove aws-data-gather
Update the config folder(manifests and metadata)
Update import statements from ocs-osd-deployer to managed-fusion-agent
Update github actions to point to managed-fusion-agent repo
Remove unrequired schemes

LGTM

@bindrad In addition to my review comments I am wondering why we have hundreds of vendor file changes.
I do assume that because we are removing some code some vendors need to be deleted. That is ok, but please make sure we are not also trying to bump packages together with these changes. The bumping up of packages should go into its own PR

@bindrad In addition to my review comments I am wondering why we have hundreds of vendor file changes. I do assume that because we are removing some code some vendors need to be deleted. That is ok, but please make sure we are not also trying to bump packages together with these changes. The bumping up of packages should go into its own PR

@nb-ohad I tried reverting certain packages which got updated but after running go mod vendor it is going back to it's upgraded version.They are dependent on some other modules which is causing them to upgrade.I am not sure how I would handle this? by going over each module and checking the dependent packages?
The packages in question are these
github.com/onsi/gomega v1.19.0
k8s.io/api v0.25.2
k8s.io/apimachinery v0.25.2

The vendor changes are resolved by removing the vendor directory , go.sum and go.mod file.Copied the go.mod file
from the ocs-osd-deployer and ran go mod vendor and go mod tidy. This seemed to revert the packages to it's proper version.
@nb-ohad


Reducer: Cache for calculations

This depends on: https://github.com/QURIresearch/squiggle/issues/172

@OAGr We need a way to control what is memoized. A flag in function definitions? Or all distribution functions only?


Suspicious line in install script

The following line
ln -nsf /home/zulip/deployments/next "$ZULIP_PATH"
ln -nsf "$deploy_path" /home/zulip/deployments/next

in the file
zulip/scripts/lib/install

doesn't make much sense, and I have the impression it breaks the installation process, but I haven't been able to do a thorough test.
Is the symlink broken intentionally?
Thanks.

Nevermind.
I already discovered the functionallity and it isn't the reason the installation process broke when doing a install from a cloned repo. Will continue looking for the reason.

I've definitely done installations from cloned repos without issue; you just need to clone it at the path /root/zulip to start.


Kindly add me to the Beta testers

Kindly add my amazon alexa account for the beta testers group. My alexa email address is<EMAIL_ADDRESS>

Added

Dear Tomas,
Thank you for adding me to the beta testers group. As instructed by you, I
have configured my Alexa . But still I am unable to access the Kodi Skill
in the skills section of Alexa App. Kindly bear with me and help me out
with this.
Regards,
Ankit Gupta
M.no:- +919910562224
On Tue, Nov 20, 2018 at 7:54 PM Tomas Kislan<EMAIL_ADDRESS>wrote:

Added
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kodi-connect/kodi-alexa-video/issues/42#issuecomment-440290589,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ArE_fVRApIg5Tq27PU3IKzxo5JGITA4uks5uxBCDgaJpZM4YpDBM
.


[FR] Omit setup step if use default settings

Some plugins allow us to omit setup call if we use default setting. Please only force user to setup call if they wanna change default behavior. This will help remove boilerplate code in our config. Thank you

heho,
ty for the idea. need some time to get this done. if you want it now, please file a pr :)
regards
Alexander

Merged it finally 🙃


Specifying or detecting the order of data?

Hello,
First, thank you for this awesome package! It's nicely done!
I have the following issue - The data is in reverse order on my end, i.e. most recent candle is index 0.
For example:
>>> data.SPY
           date    open    high     low   close       volume
0    2020-05-06  288.04  288.45  283.87  284.34   67758728.0
1    2020-05-05  286.64  289.25  283.71  286.19   79330400.0
2    2020-05-04  280.74  283.90  279.13  283.57   80873200.0
3    2020-05-01  285.31  290.66  281.52  282.79  125063900.0
4    2020-04-30  291.71  293.32  288.59  290.48  122901700.0
...         ...     ...     ...     ...     ...          ...
6862 1993-02-04   44.97   45.09   44.47   45.00     531500.0
6863 1993-02-03   44.41   44.84   44.38   44.81     529400.0
6864 1993-02-02   44.22   44.38   44.13   44.34     201300.0
6865 1993-02-01   43.97   44.25   43.97   44.25     480500.0
6866 1993-01-29   43.97   43.97   43.75   43.94    1003200.0

[6867 rows x 6 columns]

And e.g. when I do atr, it seems that it goes in reverse order, filling most recent with NaN:
>>> data.SPY.ta.atr()
0            NaN
1            NaN
2            NaN
3            NaN
4            NaN
          ...
6862    0.556601
6863    0.565054
6864    0.580380
6865    0.552330
6866    0.545352
Name: ATR_14, Length: 6867, dtype: float64

Now I know that the easiest thing in the world is to reverse the data with [::-1], but still... would be great if we could specify the order somehow, or even better - detect it form the date field.

Hello @akovachev,
Thank you!  Glad it is working out for you!
Index order agnostic was by design originally.  I figured one would source and clean their data before applying these indicators (features).  It seems like a good idea.  But I wonder how many would find this useful?  After all, it is simple to reverse.
Thanks,
KJ

Thank you for the update @twopirllc,
It's simply prone to error, and financial data is often in reverse index order.
Could it be done similar to "adjusted" property? i.e. how hard is it to have ta.reversed property?
I could spend a few cycles to implement that if you approve of the idea (we'll need to agree on approach).
If not... brainstorming here... Perhaps as a sanity check it could at least alert if time/date fields are going the wrong way?
Regards,
AK

@akovachev,
I like that idea of a reverse property to just reverse it.  Plus it should be simple implementation.  Also one of the reasons I made it order agnostic is because the indicators can run on series and time-series alike.
Also a sanity check might be good as well if it is not annoying.
Thanks,
KJ

I just noticed this as well. I am very thankful for this package though, and the documentation is quite well done. But it wasn't clear that a reverse order was used. I just reversed my data frame to fix

Thanks!
Order is not imposed and has been the responsibility of the user.
KJ

@akovachev  and @robertddewey,
So I have created two new ta properties:

A reverse property which returns as new DataFrame that is reversed using df.iloc[::-1] irregardless of the type of index.
A datetime_ordered property which returns True or False if the index is of type datetime64 and that it is ordered.

Just putting some finishing touches and adding testing before updating the Github repository.  I think this is a balanced approach, what do you think?
Thanks,
KJ

@akovachev and @robertddewey,
So I have created two new ta properties:

A reverse property which returns as new DataFrame that is reversed using df.iloc[::-1] irregardless of the type of index.
A datetime_ordered property which returns True or False if the index is of type datetime64 and that it is ordered.

Just putting some finishing touches and adding testing before updating the Github repository. I think this is a balanced approach, what do you think?
Thanks,
KJ

That sounds great! Thank you KJ!
I would definitely use the reverse property.
Not so sure about the datetime_ordered - Since I'm not using the date as index, I would prefer to be able to set which column holds the actual date.

@akovachev,
Cool.  Hope it helps.  The datetime_ordered property is just a helper method, it's not required.  You can use it to check if your index is datetime64 and ordered normally.  If it's not, then you can reverse and set your index however you like.
Something to the effect of:
if not data.ta.datetime_ordered:
    data = data.ta.reverse
    data.set_index('date', inplace=True)

Thanks,
KJ


Connect with both Emby and Plex at the same time.

Description
I'm now running two instances on two different vhosts.
One for Emby and one for Plex.
Would be nice if I could run a single instance that supports logging in with both Emby and Plex accounts.
Desired Behavior
Connect Jellyseerr with both Plex and Emby at the same time, so users of both services can login and request videos.
Additional Context
No response
Code of Conduct

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

Duplicate #100


Output layer content but got killed

I am trying to output a table from h5ad file.
These are codes.
import numpy as np
import pandas as pd
import anndata as ad
from scipy.sparse import csr_matrix
adata = ad.read('local.h5ad', backed='r')
adata.to_df(layer='decontXcounts').to_csv('test.csv')

adata.X
<HDF5 sparse dataset: format 'csr', shape (483152, 58559), type '<f4'>

Try to output the adata.X for parsing.
adata.to_df(layer='decontXcounts').to_csv('test.csv')
But, the run got killed due to memory usage( I guess, since the file reaches 16G and only 71638 rows output).
Any suggestions on output the adata.X?
Thanks.

You could read through the sparse matrix and write it to the csv line by line, but if you can't hold the dense dataframe in memory it may be difficult to work with the csv.


Issue capturing audio on iOS

Hi, I am trying to create a native iOS application that uses gstreamer for WebRTC.
I am having an issue accessing the microphone using gstreamer on iOS.
The following pipeline is working properly on me for OSX:
autoaudiosrc ! audioconvert ! audioresample ! audioconvert ! autoaudiosink
But on iOS I get the following error when setting the pipeline state to "Ready" and no audio is played back:
[aurioc] 921: failed: -10851 (enable 1, outf< 2 ch,      0 Hz, Float32, non-inter> inf< 2 ch,      0 Hz, Float32, non-inter>)
I am using:

Gstreamer 1.16.1
Xcode 11
iOS 11, and iOS 13

Is there a better plugin for capturing audio on iOS?

I found a fix:
I had to set the AVAudioSession.sharedInstance category to AVAudioSessionCategoryPlayAndRecord inside my application before trying to start the pipeline.

Thanks for letting us know, but this is not really related to the webrtc demos at all, so best to continue the discussion in the upstream ticket you filed


Create tasks with PGN body that is successfully parsed inside cloud run http handler

Actually solved this by passing GCS location inside cloud task payload and have cloud run download that pgn file directly from the bucket.


Dark 372

[1156] - https://transfer.sh/fkj3i/jdi-dark-bdd-tests.tar.gz

[1156] - https://transfer.sh/30N74/jdi-dark-tests.tar.gz

[1154] - https://transfer.sh/pU2QI/jdi-dark-bdd-tests.tar.gz

[1154] - https://transfer.sh/KWIzq/jdi-dark-tests.tar.gz

[1154] - https://transfer.sh/1RuK5/jdi-dark-tests.tar.gz

[1156] - https://transfer.sh/8sWEL/jdi-dark-tests.tar.gz

[1154] - Allure report on Netlify: https://5ed11ce1c5c7a9da331a5197--jdi-dark.netlify.app

[1156] - Allure report on Netlify: https://5ed11d324e3162e55f9aa986--jdi-dark.netlify.app


Mergify: configuration update

This change has been made by @ivan-015 from https://mergify.io config editor.

This PR will cause Mergify to backport any PR going to stable into dev. Previously mergify was only backporting hotfixes but doing only hotfixes will cause dev and stable to diverge.


UDP2raw不工作，直连，单纯UDPspeeder都成功

debian9系统
OPENVPN+UDP2raw+UDPspeeder模式
直连openvpn正常，单套udpspeeder正常。
单套udp2raw，连接失败。
openvpn报错：
TLS: Initial packet from [AF_INET]<IP_ADDRESS>:60468, sid=7b3159ad 241c87cb
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error: TLS handshake failed

server端
received syn,sent syn ack back
got packet from a new ip
created new conn,state: server_handshake1,my_id is 33d7bc2b
changed state to server_handshake1,my_id is 33d7bc2b
received handshake oppsite_id:1a2e774c  my_id:33d7bc2b
oppsite const_id:2e5cc7bc
changed state to server_ready
received syn,sent syn ack back
got packet from a new ip
created new conn,state: server_handshake1,my_id is e8d86a04
changed state to server_handshake1,my_id is e8d86a04
received handshake oppsite_id:68d320f6  my_id:e8d86a04
oppsite const_id:2e5cc7bc
grabbed a connection
inactive conn cleared
received syn,sent syn ack back
got packet from a new ip
created new conn,state: server_handshake1,my_id is 1fa1251b
changed state to server_handshake1,my_id is 1fa1251b
received handshake oppsite_id:3c8869b3  my_id:1fa1251b
oppsite const_id:2e5cc7bc
grabbed a connection
inactive conn cleared
rst==1,cnt=1
new conv conv_id=8cca652b, assigned fd=10
received syn,sent syn ack back
got packet from a new ip
created new conn,state: server_handshake1,my_id is 691d87a8
changed state to server_handshake1,my_id is 691d87a8
received handshake oppsite_id:d8ede013  my_id:691d87a8
oppsite const_id:2e5cc7bc
grabbed a connection
inactive conn cleared
received syn,sent syn ack back
got packet from a new ip
created new conn,state: server_handshake1,my_id is 37bebc80
changed state to server_handshake1,my_id is 37bebc80
received handshake oppsite_id:2c314102  my_id:37bebc80
oppsite const_id:2e5cc7bc
[<IP_ADDRESS>:24748]grabbed a connection

cline
[2018-06-27 10:23:52][INFO]changed state from to client_handshake2 to client_ready
[2018-06-27 10:24:11][INFO]state back to client_idle from  client_ready bc of server-->client direction timeout
[2018-06-27 10:24:12][INFO]using port 10470
[2018-06-27 10:24:12][INFO]filter expression is [tcp and src **.**.**.** and src port 443 and dst port 10470]
[2018-06-27 10:24:12][INFO]ret=-1,errno=10035:,728 443
[2018-06-27 10:24:12][INFO]state changed from client_idle to client_tcp_handshake_dummy
[2018-06-27 10:24:12][INFO]state changed from client_tcp_dummy to client_handshake1
[2018-06-27 10:24:12][INFO](re)sent handshake1
[2018-06-27 10:24:12][INFO]new packet from <IP_ADDRESS>:64418,conv_id=fd1b5f4c
[2018-06-27 10:24:12][INFO]changed state from to client_handshake1 to client_handshake2,my_id is 71350425,oppsite id is 135cd376
[2018-06-27 10:24:12][INFO](re)sent handshake2
[2018-06-27 10:24:12][INFO]changed state from to client_handshake2 to client_ready
[2018-06-27 10:24:33][INFO]state back to client_idle from  client_ready bc of server-->client direction timeout
[2018-06-27 10:24:34][INFO]using port 38782
[2018-06-27 10:24:34][INFO]filter expression is [tcp and src ***.***.***.*** and src port 443 and dst port 38782]
[2018-06-27 10:24:34][INFO]ret=-1,errno=10035:,652 443
[2018-06-27 10:24:34][INFO]state changed from client_idle to client_tcp_handshake_dummy
[2018-06-27 10:24:34][INFO]state changed from client_tcp_dummy to client_handshake1
[2018-06-27 10:24:34][INFO](re)sent handshake1
[2018-06-27 10:24:34][INFO]changed state from to client_handshake1 to client_handshake2,my_id is c7cc6e08,oppsite id is 46afdf37
[2018-06-27 10:24:34][INFO](re)sent handshake2
[2018-06-27 10:24:34][INFO]changed state from to client_handshake2 to client_ready

请问是防火墙问题吗？纯小白，感觉是防火墙转发问题？
iptables设置
iptables -t nat -A POSTROUTING -s <IP_ADDRESS>/24 -o eth0 -j MASQUERADE


Move to reactive architecture for Devices + ZFS - Part 3

Background
Following on from https://github.com/intel-hpdd/intel-manager-for-lustre/issues/414 , we need to consume the device-aggregator output in the IML Resource Manager and create derivative ORM data representations of the device states for each host.
Implementation
The device tree that will represent the view of devices on each IML monitored or managed server will contain an in memory state for each host. This data can then be consumed by the resource manager in similar way to how the agent device scan output previously was.
Initial approach will involve consuming the device-aggregator output from within the host/manager side of the linux device plug-in, this will be a progressive step to enable the integration of the reactive device detection components without requiring resource intensive work on changing the architecture of the manager.
Work Currently Needed

[ ] package distribute deploy device-aggregator/scanner-proxy/device-scanner in IML framework

[x] docker image to build rpm from spec

[x] device aggregator
[x] scanner proxy

[x] integrate scanner proxy into device scanner
[x] make device scanner backwards compatible
[ ] upload to copr for production availability

[x] device aggregator
[ ] device scanner

[x] configure deployment to agent host

[x] fix package conflicts https://github.com/intel-hpdd/intel-manager-for-lustre/issues/470

[x] ensure dependent service start-up occurs reliably in correct order

[x] device-aggregator start-up on manager install
[x] device-scanner start-up on agent install
[x] scanner-proxy start-up on agent install

[x] fix exceptions during scanner-proxy start-up https://github.com/intel-hpdd/scanner-proxy/issues/9 https://github.com/intel-hpdd/scanner-proxy/pull/10 https://github.com/intel-hpdd/device-scanner/issues/84
[x] implement temporary workaround to progress with other development https://github.com/intel-hpdd/scanner-proxy/pulls/8
[x] move scanner-proxy into device-scanner project https://github.com/intel-hpdd/device-scanner/pull/82

[x] manager nginx configuration updated to forward connections to the device-aggregator https://github.com/intel-hpdd/intel-manager-for-lustre/pull/432 - waiting on review and test

[x] approved reviews
[ ] landed to master

[ ] manager and agent dependencies https://github.com/intel-hpdd/intel-manager-for-lustre/pull/464

[x] agent should require iml-scanner-proxy which in turn should depend on iml-device-scanner
[x] manager should require iml-device-aggregator
[ ] approved reviews
[ ] landed to master

[ ] manager host needs to receive device aggregator state https://github.com/intel-hpdd/intel-manager-for-lustre/pull/456

[x] access data keyed on host ID from socket whenever plug-in on host side triggers on any session
[x] add package requirements to manager spec file for requests-unixsocket
[x] python-requests-unixsocket to be made available during IML install through COPR or other
[ ] approved reviews
[ ] landed to master

[ ] resource manager to normalise and consume device aggregator state https://github.com/intel-hpdd/intel-manager-for-lustre/pull/456

[x] run received socket data through block_devices code

[x] block_devices agent routine should transform device_scanner output into expected format
[x] move block_devices code to be accessible to host side linux device-plugin

[x] pipe that output through linux host side plug-in
[x] apply knowledge about exported zpools on all hosts that can access underlying drives #458
[x] agent device plug-in code to provide device scanning needs to be removed

[x] return empty data as first step, it's going to be ignored anyway
[x] remove processing code in agent device plug-in

[ ] #331 Stop partprobing so much
[ ] approved reviews
[ ] landed to master

[x] verify managed mode (smoke test)

[x] agent managed mode profile setup
[x] create filesystem

[ ] verify monitored mode (smoke test)

[ ] agent monitored mode profile setup
[ ] detect filesystem

[x] implement heartbeat between proxy and aggregator

[x] proxy to send regular heartbeats https://github.com/intel-hpdd/scanner-proxy/pull/13 https://github.com/intel-hpdd/device-scanner/pull/89
[x] aggregated to process receiving heartbeats and purge data on timeout https://github.com/intel-hpdd/device-aggregator/pull/9
[x] unit test coverage

[ ] fix existing limitations

[x] bug regarding data format in aggregator https://github.com/intel-hpdd/device-aggregator/issues/16
[x] bug pool labels https://github.com/intel-hpdd/intel-manager-for-lustre/issues/493
[ ] bug aggregator output on manager restart https://github.com/intel-hpdd/intel-manager-for-lustre/issues/492
[ ] bug scanner-proxy connection when manager unavailable https://github.com/intel-hpdd/device-scanner/issues/136
[x] bug VolumeNodes being removed for ldisk based targets https://github.com/intel-hpdd/intel-manager-for-lustre/issues/491
[x] https://github.com/intel-hpdd/intel-manager-for-lustre/issues/495
[x] https://github.com/intel-hpdd/intel-manager-for-lustre/issues/496
[ ] https://github.com/intel-hpdd/intel-manager-for-lustre/issues/497
[x] bug pool partitions being displayed as usable volumes https://github.com/intel-hpdd/intel-manager-for-lustre/issues/494
[x] bug pools need to be imported before creating filesystems in test https://github.com/intel-hpdd/intel-manager-for-lustre/issues/484
[x] stop implicitly importing and exporting pools with ZfsDevice class https://github.com/intel-hpdd/iml-common/pull/35
[ ] test reliability with special devices integration testing
[ ] test reliability with scale
[ ] enable differentiation of zvols as a special type of dataset, and make usable by lustre #400
[x] associate relevant partitions with pools so they don't appear in volumes page #458
[ ] bring zfs properties into manager https://github.com/intel-hpdd/iml-common/issues/36 https://github.com/intel-hpdd/intel-manager-for-lustre/issues/498
[x] mark exported pools as not usable so they don't appear in volumes page https://github.com/intel-hpdd/intel-manager-for-lustre/issues/469
[ ] remove block_devices.py from the agent #460
[x] pool identifier consistency https://github.com/intel-hpdd/device-scanner/issues/72 - not solved , but workaround implemented

References:

iml-device-scanner2 : https://github.com/intel-hpdd/device-scanner/
iml-scanner-proxy : https://github.com/intel-hpdd/scanner-proxy/ (obsolete)
iml-device-aggregator : https://github.com/intel-hpdd/device-aggregator/
python-requests-unixsocket : https://github.com/intel-hpdd/python-requests-unixsocket/

IML repo issues and pull requests:
stacked

#456 consume device-aggregator from within the manager, branch consume-aggregator-in-hostside-plugin (majority of precursor work merged into this branch)
#497 work to get SSI passing with reactive changes. Branch ssi-fixes-reactive
#530 fix zfs processing in manager
#467 test stack of all the work in this epic

completed/merged

#464 update manager and agent dependencies, branch manager-agent-reactive-deps
#469 mark exported pools as not usable. branch reactive-dont-report-exported-pools
#219 convert agent to systemd service with a unit file
#432 add aggregator endpoint to manager, branch aggregator-nginx-endpoint
#458 discover exported zpools on secondary hosts, b,ranch share-pool-knowledge

stand-alone

#460 remove remaining usages of block_devices.py from the agent

part of https://github.com/intel-hpdd/intel-manager-for-lustre/issues/533


Add github workflows

Actions to do:

Ensure code format with autopep8 or flake8
Launch unit tests
Build module to .whl file
Publish module to PyPI

Closed with #22


Constraints

Currently SynthVAE produces abnormal results for certain columns. Would be nice to either build this in or try and embed the work done by SDV in handling model constraints, specifically reject sampling

Hard coded in some constraints for compatibility with the MIMIC/SUPPORT work but SDV cross compatibility would be preferable but would require significant extension to the code


Improve access to animation curves and clips

What problem does this solve or what need does it fill?
Right now (especially after #15434) it's hard to do anything with curve data after it's been added to an AnimationClip. For the sake of post-processing and general reuse, it would be good if there was a way of obtaining a Curve from an AnimationCurve. This would allow, for example, the curve to be inspected, sampled, etc. without needing to actually animate something.
What solution would you like?
Use the type registry to register pointers that allow conversion dyn AnimationCurve -> dyn Curve<T> when the type of the property being animated is known extrinsically. Ideally, these could be packaged together with some utilities in order to allow something like a Box< dyn Curve<Transform>> to be extracted from an AnimationClip together with a target ID. (Note that Curve<Transform> is actually not quite the right idea, since not every property of the Transform may actually be animated.)
What alternative(s) have you considered?
Do something hacky and hijack the AnimationGraph machinery in order to get it to read out values instead of animating things. Alternatively, attempt to downcast the AnimationCurve types directly into the types used by the glTF loader.

It later occurred to me that you can do this without using the TypeRegistry but with some unsafe code instead; that kind of solution is more compact, at least.


Add a pop up dialog box for Polls/Survey done !

Hello, PR
Add new feature - ##1765 #1766
Add a pop up dialog box for Polls/Survey done properly -
I added it to the side as you said..

Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@PriyaGhosal I added it to the side as you said..
Please merge my PR with Level 3, Thank You

@PriyaGhosal

@PriyaGhosal


Fix primary storage update form not showing existing values

Description
Fixes the bug described in #9806. The primary storage update form is not showing the existing values of the following fields: tags, is tag a rule, capacity bytes, IOPS total and NFS mount options.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[X] Trivial

Screenshots (if appropriate):

How Has This Been Tested?
I accessed a NFS primary storage's details page, enabled maintenance mode and edited its name, tags, tag as JS rule, capacity bytes, IOPS total and NFS mount options fields. Then, I opened the edit form again and verified that the updated values were shown.

@blueorangutan ui

@kiranchavala a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build failed: :heavy_multiplication_x:
(SL-JID-462)

@blueorangutan ui

@kiranchavala a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build failed: :heavy_multiplication_x:
(SL-JID-463)

@blueorangutan package

@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 11373


Add vmray text to JSON parser.

Checklist

[x] No CHANGELOG update needed

[x] No new tests needed

[x] No documentation update needed

Closing in favor of https://github.com/mandiant/capa/tree/vmray-extractor


UCP: Migrate scalar function InsertUTF8 from TiDB

Signed-off-by: yufeiminds<EMAIL_ADDRESS>What problem does this PR solve?
Issue Number: close #6934
What is changed and how it works?

InsertUTF8 (Non-Vectorize)
InsertUTF8 (Vectorize)

Check List
Tests

Unit test

cargo test --color=always --package tidb_query_normal_expr --lib builtin_string::tests::test_insert_utf8 -- --exact
cargo test --color=always --package tidb_query_vec_expr --lib impl_string::tests::test_insert_utf8 -- --exact

Release note

Add builtin vectorized and non-vectorized function insert_utf8

/rebuild

@sre-bot /run-integration-copr-test copr-test=pr/7916

All test is passed, but I don't know how to resolve the DCO issue, I had already added the signed off comment to the latest git commit:
Signed-off-by: yufeiminds<EMAIL_ADDRESS>
@lonng How to fix the DCO? Can you help me? thx~

Hi, you need to sign-off all commits to pass DCO check. You may need a rebase.

Hi, @breeswish. All test and DCO check is passed. PTAL.

@iosmanthus @SunRunAway PTAL, thanks

Sorry, the non-vectorized framework has been deprecated and this PR needs to be migrated to the new architecture before it can be merged. Please take a look at this implemantion.

/label sig/coprocessor status/waiting

/label sig/coprocessor,status/waiting

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add compatibility to iOS7

Not work in iOS7. Video don't load or freeze in a few seconds.

hey @brunobasas thanks for your interest in the project.
the example app compiled for iOS 7 doesn't exhibit the problem you're seeing. if you have other details, let me know.

platform:ios,'7.0'
Specs satisfying the PBJVideoPlayer (~> 0.3.3) dependency were found, but they required a higher minimum deployment target.


discuss UploadedByUserID

Right now we rely on hasura to set this, we may want to decode the JWT and set it directly here

Might be worth documenting this in the storage docs, and noting that one can use a column preset for the field is desired. I think it's fair to say that it's expected that it's set automatically since the column is there at all by default :)

How about we deprecate the uploadedByUserID field and let users implement who's uploaded what in their own tables.
A process like this:

Upload file
Get returned file id
Insert file ID (together with your user id) in your own custom table

In step 3 developers can use FKs, Hasura Relationships, and Insert Presets (x-hasura-user-id) on the user_id column.
The downside is that this process would not be transactional.

You'd have to do that as a Hasura event on the files table, otherwise I can't see how you could verify that the user was actually the uploader of the file they're associating (in step 3). A bit cumbersome I think.
What was the rationale behind not storing the uploader id by default? Seems like a very useful feature.

I think this is up to the users and their applications. The field itself has no meaning or use to hasura-storage. A user may need an "uploadedBy" field or it might not, or it might need something else. For instance, if you were working with user profiles the only thing you would need is a "profile_pic_id" pointing to a file, you really don't need/care about the "uploadedByUserID" field. I think the bottomline is hasura-storage should care about the things it needs, everything else is business logic to be implemented by the user. Alternatively, if it turns out that having some form of metadata attached to each files, we could add a metadata field completely managed by the user of type jsonb and deprecate the field in favor of this generic one.

otherwise I can't see how you could verify that the user was actually the uploader of the file they're associating (in step 3).

Since the file id is generated by the server and is pretty much non-guessable, I would say it's safe to trust the data if the user adds a file id (and the user id is added as a Hasura preset) in step 3.

Since the file id would have to be selectable by the user, there's a good chance they could find some other random file id (by looking at data in the application), and thus could mark themselves as uploader of that. Could be somewhat mitigated by having a unique key on the file id in the lookup/relation table, but it's still fragile (maybe the relation wasn't created for some other user's file because they lost connection and it's not - as you mentioned - transactional).

Since the file id would have to be selectable by the user, there's a good chance they could find some other random file id (by looking at data in the application), and thus could mark themselves as uploader of that.

I'm not sure I understand this scenario. Could you elaborate?
Yea, the only issue I see with my initial proposed solution is, that it's not transactional.

We had a chat internally and we decided to deprecate the field and instead document alternative ways of implementing this. The rationale is that, while this is useful, it is irrelevant for hasura-storage itself and we'd prefer to keep it lean and simple so providing simple instructions to implement this functionality for applications that need it feels like the right trade-off. Another big reason is that we don't want to introduce any dependencies between hasura-storage and hasura-auth (hence why the field isn't used).
I will leave this issue open to track the proposed solution and get feedback from users.
Note: notice we are not removing the field but we will document it as "deprecated" so users shoudln't expect their applications to break any time soon if they are using the field but they should start considering alternatives as eventually we will remove it entirely.

uploadedByUserID is still not mentioned in the docs as deprecated. What is its status now?
I don't really understand this issue about decoupling from auth. A storage.files record is practically already coupled with auth via the Hasura permissions one sets on the storage.files. Having relations of files to users in another table just to be able to add some other permissions based on the user who uploaded the file seems like a burden for developers. Not that it is not doable, but doesn't seem natural and as Johan mentioned, it won't be transactional.
Of course, I already have a couple of relations to my tables where the uploaded file is used and these can be/will be used for permission checks as well. But, for example, to list all files a user uploaded, querying by uploadedByUserID could be much simpler and effective than navigating to all the joined tables and checking user equality.
What would be a use case for hasura-storage on its own without hasura-auth or the nhost stack in general?
So, if it not a problem for the rest of the nhost project I would appreciate keeping and automatically setting the uploadedByUserID field by hasura-storage.

otherwise I can't see how you could verify that the user was actually the uploader of the file they're associating (in step 3).

Since the file id is generated by the server and is pretty much non-guessable, I would say it's safe to trust the data if the user adds a file id (and the user id is added as a Hasura preset) in step 3.

Since the file id would have to be selectable by the user, there's a good chance they could find some other random file id (by looking at data in the application), and thus could mark themselves as uploader of that. Could be somewhat mitigated by having a unique key on the file id in the lookup/relation table, but it's still fragile (maybe the relation wasn't created for some other user's file because they lost connection and it's not - as you mentioned - transactional).

This is a very important security issue. If a user can get access to an ID of a file (which wasn't uploaded by him) then he can essentially use that id to get access to that file on his own account

So, if it not a problem for the rest of the nhost project I would appreciate keeping and automatically setting the uploadedByUserID field by hasura-storage.

+1

This is a very important security issue. If a user can get access to an ID of a file (which wasn't uploaded by him) then he can essentially use that id to get access to that file on his own account

While I understand the sentiment, that has nothing to do with hasura-storage. That is a security issue in your application. We have stated several times we don't support that field and that users should track ownership in the way that makes sense in their application. Then you can use that tracking to set permissions if that's what you need.
I understand this solution with the column is a convenient mechanism for some users but unfortunately it isn't generic enough and it adds a dependency to hasura-auth we don't want to have.


BetterC Mallocator

You have plans to release your internal BetterC compatible Mallocator ? (https://github.com/submada/basic_string/blob/main/src/basic_string/package.d#L2660)
Could be very useful to another BetterC and @nogc libraries

No, but betterC Mallocator is a copy of https://github.com/dlang/phobos/blob/master/std/experimental/allocator/mallocator.d#L13 where all methods are static instead of shared. Maybe final (non experimental) version of Mallocator in phobos will have static method or some version of beterC mallcoator will be there.


[loc]Request to add Georgian(ka) language to VS Code project in Transifex

VSCode Version:
OS Version:

VS CODE Georgian language

levanlevi

closed because duplicate exists here:
https://github.com/Microsoft/vscode/issues/26682


feat(derive): wire up the batch span stage

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

#567  👈
#566
main

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

Join @refcell and the rest of your teammates on  Graphite


Portfolio week 1

Sorry for the big Pull Request but I didn't see the advice to make little pull requests until the final slide

Sorry for the late I didn't see the comments, I already accepted the change of LinkedIn

Approved + merged! :)


Added unwind hashstate

Ready for review

LGTM. @AndreaLanfranchi are you happy with the PR?

LGTM. @AndreaLanfranchi are you happy with the PR?

Generally yes ... question for @Giulio2002 have you tried some unwind methods on a synced db and eventually reuse that db for normal syncing on Erigon ? Is the db still consistent ?


Search Error: SQLite3 can only bind numbers...

This happens after the first search on BA site comes up as not available. Similar result with NH so it's not airline specific.
flightplan search 0.2.2
Airline website to search (2-letter code)? BA
Departure city (3-letter code)? STL
Arrival city (3-letter code)? POM
Desired cabin class (first/business/premium/economy)? economy
Start date of search range (YYYY-MM-DD)? 2019-04-01
End date of search range (YYYY-MM-DD)? 2019-07-21
Searching 112 days of award inventory: 2019-04-01 - 2019-07-21
[BA] DEPARTURE [POM -> STL] - 2019-04-01 (1 Passenger)
[BA] info Logging in...
[BA] success Login succeeded
error A fatal error occurred!
TypeError: SQLite3 can only bind numbers, strings, Buffers, and null
    at Object.insertRow (C:\Users\mark\AppData\Local\Yarn\Data\global\node_modules\flightplan-tool\shared\db.js:100:27)
    at Object.saveAwards (C:\Users\mark\AppData\Local\Yarn\Data\global\node_modules\flightplan-tool\shared\utils.js:266:26)
    at main (C:\Users\mark\AppData\Local\Yarn\Data\global\node_modules\flightplan-tool\bin\cli-search.js:318:15)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

Do you have an old database lying around from the earlier version of flightplan? Try deleting "db" and "data" folders, and run again.
I ran for just 2019-04-01, and both searching and parsing was successful, so pretty certain this is an incompatibility with the old database format.
❯ node bin/cli-search.js -w BA -f STL -t POM -c economy -s 2019-04-01 -e 2019-04-01
Creating database...
Searching 1 days of award inventory: 2019-04-01 - 2019-04-01
[BA] DEPARTURE [POM -> STL] - 2019-04-01 (1 Passenger)
[BA] info Logging in...
[BA] success Login succeeded
[BA] DEPARTURE [STL -> POM] - 2019-04-01 (1 Passenger)
success Search complete!

Strange. I did delete the db, and subsequently data. I did it again for good measure - as you can see below:
flightplan search 0.2.2
Airline website to search (2-letter code)? BA
Departure city (3-letter code)? STL
Arrival city (3-letter code)? NRT
Desired cabin class (first/business/premium/economy)? economy
Start date of search range (YYYY-MM-DD)? 2019-03-01
End date of search range (YYYY-MM-DD)? 2019-06-30
Creating database...
Searching<PHONE_NUMBER>3333333 days of award inventory: 2019-03-01 - 2019-06-30
[BA] DEPARTURE [NRT -> STL] - 2019-03-01 (1 Passenger)
[BA] info Logging in...
[BA] success Login succeeded
error A fatal error occurred!
TypeError: SQLite3 can only bind numbers, strings, Buffers, and null
    at Object.insertRow (C:\Users\mark\AppData\Local\Yarn\Data\global\node_modules\flightplan-tool\shared\db.js:100:27)
    at Object.saveAwards (C:\Users\mark\AppData\Local\Yarn\Data\global\node_modules\flightplan-tool\shared\utils.js:266:26)
    at main (C:\Users\mark\AppData\Local\Yarn\Data\global\node_modules\flightplan-tool\bin\cli-search.js:318:15)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

Did a 1 day search with your exact command line above, same error.
Some issue with SQLite & Windows?

Possibly because I run the search / parse commands separately, let me try again.

Yep, the error is related to running the search command without the --no-parser flag. Debugging it now.

Pushed v0.2.3, which should fix this issue. Can you upgrade and try?

Yes, it's fixed. Thanks!


Query priority from SMELT and send it to the dashboard

See https://progress.opensuse.org/issues/155629

This will already be covered by https://github.com/openSUSE/qem-bot/pull/170.

https://github.com/Mergifyio rebase


[Discussion] - How to make the voting system secure?

Possible approach using blockchain:
https://github.com/mehtaAnsh/BlockChainVoting
EDIT:
Interesting reads:
https://web3auth.io/docs/guides/firebase
https://moralis.io/web3-firebase-authentication-create-a-web3-sign-in-with-moralis/
Open to ideas. Leave your suggestions below.

I liked very much the system presented on the first link. The fact that the admin can see how many people voted (and who because of the emails) helps the flow of the voting.
Regarding the system security and authentication, there are a lot more things we can do to improve the overall funcionality of the app before going into the security and authentication. My sugestion would be to pick up this issue later when the structure is more developed.
Tell me your thoughts.

I agree. Let's keep it simple for now, but it might interesting for later


Bypass of methods

It should be good to get an option to bypass easily some methods, I'm thinking of a soft delete of documents by putting a boolean flag deleted : true instead of remove the document.

This is already possible by setting hook.result in a before hook. A soft delete can be done like this:
app.service('messages').before({
  find(hook) {
    hook.params.query.deleted = { $ne: true };
  },

  remove(hook) {
    return this.patch(hook.id, { deleted: true }, hook.params).then(message => {
      hook.result = message;
      return hook;
    });
  }
});

Thanks


cobalt-0.0.7 Image & Document sending not working, using web pairing method

cobalt-0.0.7 Image & Document sending not working, using web pairing method
java.lang.IllegalStateException: Unsupported mobile osjava.util.concurrent.CompletionException: java.lang.IllegalStateException: Unsupported mobile os
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Caused by: java.lang.IllegalStateException: Unsupported mobile os
at it.auties.whatsapp.model.companion.CompanionDevice.platformName(CompanionDevice.java:180)
at it.auties.whatsapp.model.companion.CompanionDevice.toUserAgent(CompanionDevice.java:127)
at it.auties.whatsapp.implementation.MessageHandler.attributeMediaMessage(MessageHandler.java:235)
at it.auties.whatsapp.implementation.MessageHandler.prepareOutgoingChatMessage(MessageHandler.java:139)
at it.auties.whatsapp.implementation.MessageHandler.encodeChatMessage(MessageHandler.java:109)
at it.auties.whatsapp.implementation.MessageHandler.encode(MessageHandler.java:103)
at it.auties.whatsapp.implementation.SocketHandler.sendMessage(SocketHandler.java:487)
at it.auties.whatsapp.api.Whatsapp.lambda$sendMessage$20(Whatsapp.java:820)
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
... 6 more
2024-09-06 06:28:58 [ForkJoinPool.commonPool-worker-6] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:29:18 [ForkJoinPool.commonPool-worker-4] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:29:38 [ForkJoinPool.commonPool-worker-8] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:29:58 [ForkJoinPool.commonPool-worker-2] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:30:18 [ForkJoinPool.commonPool-worker-7] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:30:38 [ForkJoinPool.commonPool-worker-9] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:30:58 [ForkJoinPool.commonPool-worker-10] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:31:18 [ForkJoinPool.commonPool-worker-10] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:31:38 [ForkJoinPool.commonPool-worker-8] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file
2024-09-06 06:31:58 [ForkJoinPool.commonPool-worker-7] ERROR Serializer - java.util.concurrent.CompletionException: java.io.UncheckedIOException: Cannot write file

Yeah after further testing, I found that I get the same error as Boddu:
java.util.concurrent.CompletionException: java.lang.IllegalStateException: Unsupported mobile os 	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) 	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) 	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159) 	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) Caused by: java.lang.IllegalStateException: Unsupported mobile os 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.model.companion.CompanionDevice.platformName(CompanionDevice.java:180) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.model.companion.CompanionDevice.toUserAgent(CompanionDevice.java:127) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.implementation.MessageHandler.attributeMediaMessage(MessageHandler.java:235) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.implementation.MessageHandler.prepareOutgoingChatMessage(MessageHandler.java:139) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.implementation.MessageHandler.encodeChatMessage(MessageHandler.java:109) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.implementation.MessageHandler.encode(MessageHandler.java:103) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.implementation.SocketHandler.sendMessage(SocketHandler.java:487) 	at it.auties.cobalt@0.0.7/it.auties.whatsapp.api.Whatsapp.lambda$sendMessage$20(Whatsapp.java:820) 	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) 	... 6 more
There's some sort of lack of handling for the web client I suppose? I tried looking into it but honestly I'm clueless as to how to fix it. I guess there's something missing within CompanionDevice.java? I tried looking into it and found two methods that might need some sort of extra handling, especially the web case:

deviceName()
platformName()

But again I'm not too sure. I tried to find a fix but without further understanding of the whole code base I can't do much. The code is really well put together tho, the java docs are great, but again I'm kind of new at this so it's out of my pay grade lol.
Attached are my project files.
As well as a quick nice video demonstrating the error again:

Hopefully we can figure something out!

will be fixed in 0.0.8

Same error here, I was trying to send a StickerMessage

I too get the same error with v0.0.7, WEB mode and trying to send Image and PDF files
Caused by: java.lang.IllegalStateException: Unsupported mobile os
at it.auties.whatsapp.model.companion.CompanionDevice.platformName(CompanionDevice.java:180)
at it.auties.whatsapp.model.companion.CompanionDevice.toUserAgent(CompanionDevice.java:127)
at it.auties.whatsapp.implementation.MessageHandler.attributeMediaMessage(MessageHandler.java:235)
at it.auties.whatsapp.implementation.MessageHandler.prepareOutgoingChatMessage(MessageHandler.java:139)
at it.auties.whatsapp.implementation.MessageHandler.encodeChatMessage(MessageHandler.java:109)
at it.auties.whatsapp.implementation.MessageHandler.encode(MessageHandler.java:103)
at it.auties.whatsapp.implementation.SocketHandler.sendMessage(SocketHandler.java:487)
at it.auties.whatsapp.api.Whatsapp.lambda$sendMessage$20(Whatsapp.java:820)
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1194)
... 5 more

Any update here? There's no way to send image messages using 0.0.7 Cobalt then? :(

Any update here? There's no way to send image messages using 0.0.7 Cobalt then? :(

As I mentioned, i’m working on decoupling the network stack from cobalt into the Leap project. I'm almost done with it, then I'll release 0.0.8. Sorry for the wait

@Auties00
If possible, please let us know the tentative time line for 0.0.8 release based on your convenience.


allowedUnsafeSysctls Kubelet config ignored

Environmental Info:
K3s Version:
k3s version v1.27.5+k3s1 (8d074ecb)
Node(s) CPU architecture, OS, and Version:
Linux ryzen 6.1.0-11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64 GNU/Linux
Cluster Configuration:
single-node configuration
Describe the bug:
Given the following /etc/rancher/k3s/config.yaml:
kubelet-arg:
  - 'config=/etc/rancher/k3s/kubelet.config'

and the following /etc/rancher/k3s/kubelet.config:
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 99
allowedUnsafeSysctls:
  - 'fs.mqueue.*'
  - 'fs.inotify.*'
  - 'net.ipv6.conf.all.disable_ipv6'
  - 'net.ipv4.conf.all.arp_*'
  - 'net.ipv4.tcp_*'

I would expect the following pod yaml to load:
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  securityContext:
    sysctls:
    - name: fs.mqueue.msg_max
      value: "16776"
    - name: net.ipv6.conf.all.disable_ipv6
      value: "1"
  restartPolicy: Never
  containers:
    - name: nginx
      image: nginx

Steps To Reproduce:

Update your config.yaml to the given snippet
Create the Kubelet config file
Restart your k3s
Apply the nginx example pod

Expected behavior:
I get:
Events:
  Type     Reason           Age   From               Message
  ----     ------           ----  ----               -------
  Normal   Scheduled        24s   default-scheduler  Successfully assigned default/nginx to ryzen
  Warning  SysctlForbidden  25s   kubelet            forbidden sysctl: "fs.mqueue.msg_max" not allowlisted

Actual behavior:
Pod actually starting
Additional context / logs:
I updated the maxPods just to see if the config has been used at all, and instead of 110, I get 99 with:
kubectl get nodes ryzen -o jsonpath='{.status.allocatable.pods}'
99

It's not ignored, it's just that the value from your config file is being overridden by the default arguments passed to the kubelet:
https://github.com/k3s-io/k3s/blob/550dd0578f79882e1a78d8468fdbefa95faa145c/pkg/daemons/agent/agent_linux.go#L172-L174
I would suggest just passing these directly in via kubelet args:
kubelet-arg:
  - allowed-unsafe-sysctls=net.ipv4.ip_forward,net.ipv6.conf.all.forwarding,fs.mqueue.*,fs.inotify.*,net.ipv6.conf.all.disable_ipv6,net.ipv4.conf.all.arp_*,net.ipv4.tcp_*

Although doing that suggests that your list of sysctls isn't valid, so you'll need to figure out what you actually need to set:
Error: failed to run Kubelet: failed to create kubelet: the sysctls "fs.inotify.*" are not known to be namespaced

Thanks, that seems to indeed do the trick. I was thrown off by the fact that Kubelet arguments are deprecated and thought that passing the config file would be the best way.

They're deprecated by upstream, but still very much supported.


Permission creating hook on table creation is broken.

Somehow the perm is created and the permission view menu is pointing to the datasource_access perm and null view menu.
Steps: create new table and the go to the ipython console:
t = db.session.query(models.SqlaTable).filter_by(id=2783).all()[0]
p = sm.find_permission_view_menu('datasource_access', t.get_perm())
p
>>> datasource access on None

Looks like if the None view_menu or None permission exists it will cause sm.find_permission_view_menu to return that permission view menu object rather than None.
    def find_permission_view_menu(self, permission_name, view_menu_name):
        """
            Finds and returns a PermissionView by names
        """
        permission = self.find_permission(permission_name)
        view_menu = self.find_view_menu(view_menu_name)
        return self.get_session.query(self.permissionview_model).filter_by(permission=permission, view_menu=view_menu).first()

FAB security manager still has to be fixed.


Update match checking algorithm

I've recently got interest in the match checking to extend the current algo to support reporting witnesses of non-exhaustiveness.
It appears the algo is outdated from rustc's implementation. I decided to rewrite it based on the latest rustc's version. It is a diff-based port to ra codebase. That means you can diff-compare these files to rustc.
I'm striving to keep minimal ra-related changes in the algo to make it easier to backport future changes from the upstream.
Based on upstream algorithm of version rust-lang/rust 1.52.0-nightly (25c15cdbe 2021-04-22)
https://github.com/rust-lang/rust/blob/25c15cdbe/compiler/rustc_mir_build/src/thir/pattern/usefulness.rs
The goal of this PR is to cover the current missing-match-arm diagnostic.
What is remaining to do:

[x] Error handling. The errors that are unrelated to match checking will be handled before the check. Just like how it made in rustc.

[x] Lowering hir_def::expr::Pat to hir_ty::diagnostics::match_check::Pat. rustc's match checking works on top of rustc_mir_build::thir::Pat, which is lowered from hir::Pat and carries some extra semantics used by the check. All unrelated checks are done there. RA could use this to rule out running the check on unimplemented cases (Pat::ConstBlock, etc).
[x] ProperLoose typecheck of match arm patterns (https://github.com/rust-analyzer/rust-analyzer/pull/8840, https://github.com/rust-analyzer/rust-analyzer/pull/8875).

[x] Tests from hir_ty::diagnostics::match_check::tests.
[x] Clean up todos
[x] Test run on real repos https://github.com/rust-analyzer/rust-analyzer/pull/8717#issuecomment-847120265.

@iDawer do you think it would be feasible to extract this as a shared library? librustc_match or something.

I think it makes sense to try to do  the following -- move most of the code out of hir into crates/pattern-matching, where the new pattern-matching crate does not depend on the hir types. If that is successful, then we should coordinate with rustc folks to do a similar extraction on the rustc side, and then re-use the same published crate.

It could be. I have to do pattern lowering part to see the whole picture. I'm dreaming about making it into the shared lib since the start.
Also, parts of the algo could be used to make "Expand wildcard pattern" sort of assist, so I need to experiment with this too and think how the lib API should expose it's internals.

I think it makes sense to try to do the following -- move most of the code out of hir into crates/pattern-matching, where the new pattern-matching crate does not depend on the hir types. If that is successful, then we should coordinate with rustc folks to do a similar extraction on the rustc side, and then re-use the same published crate.

Let's evolve to this in next PRs? :sweat_smile:

Let's evolve to this in next PRs?

Sure!

Also, parts of the algo could be used to make "Expand wildcard pattern" sort of assist, so I need to experiment with this too and think how the lib API should expose it's internals.

I imagine we'll wrap the API to make it nicer for the IDE code in the hir crate.

The algorithm itself is mostly done. It differs from the old one in that it panics instead of giving false positives. This applies to bad patterns too so it needs proper typechecking.
After this is done I want to do runs on r-a and rust repos and maybe on rust's tests. No mercy to false positives!
This PR introduces new features (+ tests) regarding match checking:

respect match guards
@ bindings
respect #[non_exhaustive] attribute on enums

bors try

bors try

bors d+
I think this should give try permissions (although bors is the same set of checks that runs on a PR naturally)

I did test runs:

On self repo ./target/ra-testing diagnostics . --with-proc-macro: zero "missing-match-arm" reports, no panics.

On rust-lang/rust 25c15cdbe 1.52.0-nightly-2021-04-22 repo with src/tools/clippy crate excluded from workspace ./target/ra-testing diagnostics ../rust/ --with-proc-macro:

before:  "missing-match-arm" 29 reports, 4 of them valid, no panics.
with this PR: 4 valid reports, 3 panics (fixed 3/3 in #8840, #8875).

Checked for panics on rust-lang/rust/test:
test/ui/pattern/
test/ui/or-patterns/
test/ui/rfc-2008-non-exhaustive

Result: 1 panic (fixed).

Details
Script to generate tests. It does not account imports used in some tests.
#!/bin/bash
echo "use crate::diagnostics::tests::scan_diagnostics;"
for file in $(find $1 -name "*.rs")
do
   test_name=$(basename "$file" ".rs" | sed -e 's/[^a-zA-Z0-9_]/_/g')
   echo "#[test]
fn $test_name() {
   scan_diagnostics(include_str!(
       \"$file\"
   ));
}
"
done

 hir_ty::diagnostics::tests::scan_diagnostics function
    /// check for panics
    pub(crate) fn check_diagnostics(ra_fixture: &str) {
        let db = TestDB::with_files(ra_fixture);
        db.diagnostics(|_|());
   }

I had to exclude clippy repo because ra kept hanging in it. Stacktrace showed the hang in chalk.

Oups, missed the fact that this is ready for review!

cc @Nadrieril, I've noticed that you did a bunch of work on rustc side of this. JFYI, it would be cool if the match checking algorithm is extracted in the shared library between rust-analyzer and rustc. Solid match checking will enable various fun IDE tricks, like exploding the _ pattern on a keypress.
I don't think there are specific plans right now about library-ification, but, if you are interested to chat about this, feel free to join our Zulip: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer

bors r+

here's zulip stream for library-ification decisions: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/libraryfying.20match.20checking.3F