Put spyglass back in slot

It would be nice if the mod would put the spyglass back in the slot it was in before zooming, instead of leaving it in the hotbar.

Interesting, the mod should already be doing that. If you don't mind, can you specify what Minecraft versoin are you using, and what other mods you have installed?

It seems as I have been hasty in my conclusions. Though it does put the spyglass back in it's slot when it is replacing an item in the hotbar, it keeps it's spot in the hotbar when you zoom with an empty slot in hand. Though this might be on purpose, personally I would like it better if it went back into my inventory. Thank you for the quick reply and keep up the good work!

I wasn't able to reproduce the issue I'm afraid. If you could follow up with more info, like the list of other mods you have installed, it would be mich appreciated!


[Bug]: 404 not page

EDIT: I solved this problem and still has problem that open always http://localhost/admin/login not to http://localhost/mytasty/admin/login:

OLD:
I have faced with error 404 not page

When I click, http://localhost/admin/themes page open and I face with error
Not Found
The requested URL was not found on this server.
Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4 Server at localhost Port 80
.htaccess file:

httpd.conf:

I solved this problem, guys, just I added in .env file APP_URL=http://localhost/tasty/ (you have to replace tasty with your folder where uploaded project.


Expose answer content to VoiceOver in Tutorials' Quiz

Bug/issue #115116964, if applicable:
Summary
Expose answer content to VoiceOver in Tutorials' Quiz
Dependencies
NA
Testing
Steps:
0. Turn VoiceOver on

Go to a page with a Quiz
Select an incorrect answer
Submit
Assert that VoiceOver reads: "Answer [content of the answer] is [result]"

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[x] Updated documentation if necessary

@swift-ci test


A different getIp to ensure that there is no need to set ENV on more systems especially the CCU3

What
Could you please consider to replace your getIp programm with the following or something with same result.
source
getIp: async (idx) => { // idx = 0 means first available address, what works for me on all systems (henning)

    const addresses = []
    const interfaces = networkInterfaces()
    let name
    let ifaces
    let iface

    for (name in interfaces) {
      // eslint-disable-next-line no-prototype-builtins
      if(interfaces.hasOwnProperty(name)) {
        ifaces = interfaces[name]
        if(!/(loopback|vmware|internal)/gi.test(name)) {
          for (let i = 0; i < ifaces.length; i++) {
            iface = ifaces[i]
            if (iface.family === 'IPv4' &&  !iface.internal && iface.address !== '<IP_ADDRESS>') {
              addresses.push(iface.address)
            }
          }
        }
      }
    }

    // If an index is passed only return it.
    if(idx >= 0)
      return addresses[idx]
    return addresses
  },

Why
As you know I am creating a new Node-RED custom node based on nodes-sonos-ts. In Node-RED you do install custom nodes via a menu item. It is really not common to work with ENV variable. On my development system (windows 10) and for Docker on Synology (another test system) you algorithm provides the same ip address and there is no need to use ENV.
But unfortunatley on the most importin system - my production system, a Homematic CCU3 with RedMatic - your program provides a 10.xxxxx address. The program above provides the "right" address <IP_ADDRESS>.
Yes- it is possible (editing  a specific file) to set the environment variable - but that is really not acceptable for many users. Furthermore any update may override these changes.
Alternatives

fork your project and modify this part
use the original node-sonos. That works as it uses the ip package
any of your ideas to ensure that for these kind of systems we don't need to set any ENV variable

Additional context
I tested now most of the features for the Node-RED event node and it works fine. Currently there are 3 nodes but I just finished the new "general event node" where you can subscribe to any service or special event on that service (about 20 options) with a click. You can add, delete, rearrange events. Next week the new node will be finalized (currently only the ui is prototyped).

For what functionality should this be changed?
Or what isn’t working at the moment?
the even listener already uses something like your code. https://github.com/svrooij/node-sonos-ts/blob/b6e73140375569d25839785c441f512aaa7c354d/src/sonos-event-listener.ts#L27

For what functionality should this be changed?
Or what isn’t working at the moment?
the even listener already uses something like your code. https://github.com/svrooij/node-sonos-ts/blob/b6e73140375569d25839785c441f512aaa7c354d/src/sonos-event-listener.ts#L27

right - the event listener.
right - there is a private static getHostIp what looks "something like"
but unfortunately "something like" returns different value for the ip address  on a CCU3 system.

right - the event listener.
right - there is a private static getHostIp what looks "something like"
but unfortunately "something like" returns different value for the ip address  on a CCU3 system.

Let me clear if you my question, in what places are you experiencing getting the wrong host IP?

Let me clear if you my question, in what places are you experiencing getting the wrong host IP?

Maybe you remember our discord dialog with the following information:
Dec 11 15:49:09 ccu3-webui daemon.err node-red: 2020-12-11T14:49:09.908Z sonos:eventlistener Listener created host: <IP_ADDRESS> port: 6329
So on my CCU3 without any ENV the node-sonos-ts created a listener on <IP_ADDRESS>, port 6329.
But the DNS server in my network assigns <IP_ADDRESS> to that small device. So Node.JS, Node-RED, putty, winscp are at <IP_ADDRESS>.
For testing purposes I copied your getIp code and the code from stackoverflow, created two Node-RED/Node.JS  endpoints and compared the results on my platforms.

Maybe you remember our discord dialog with the following information:
Dec 11 15:49:09 ccu3-webui daemon.err node-red: 2020-12-11T14:49:09.908Z sonos:eventlistener Listener created host: <IP_ADDRESS> port: 6329
So on my CCU3 without any ENV the node-sonos-ts created a listener on <IP_ADDRESS>, port 6329.
But the DNS server in my network assigns <IP_ADDRESS> to that small device. So Node.JS, Node-RED, putty, winscp are at <IP_ADDRESS>.
For testing purposes I copied your getIp code and the code from stackoverflow, created two Node-RED/Node.JS  endpoints and compared the results on my platforms.

Problem:
So the problem is, at some devices (with more then one network card) it doesn’t recognize the right IP to use as a luisteren for the events?
Proposed solution
The above code is just luck, it still takes all interfaces filters a few and the returns the first IP it finds. Your code just filters loopback|vmware|internal and not vEthernet. You can also submit a PR to also filter those other names. But I think that people that use VMs will get really disappointed if this library stops working because we change how it selects the correct ip. An interface with the name vmware might be invalid for you, but not for others.
Simple fix for your situation
Instead of setting the environment variable, you can also set process.env.SONOS_LISTENER_HOST from your node app right before you start the Sonos manager.
current code
similar code is currently used.
https://github.com/svrooij/node-sonos-ts/blob/b6e73140375569d25839785c441f512aaa7c354d/src/sonos-event-listener.ts#L33-L36

Problem:
So the problem is, at some devices (with more then one network card) it doesn’t recognize the right IP to use as a luisteren for the events?
Proposed solution
The above code is just luck, it still takes all interfaces filters a few and the returns the first IP it finds. Your code just filters loopback|vmware|internal and not vEthernet. You can also submit a PR to also filter those other names. But I think that people that use VMs will get really disappointed if this library stops working because we change how it selects the correct ip. An interface with the name vmware might be invalid for you, but not for others.
Simple fix for your situation
Instead of setting the environment variable, you can also set process.env.SONOS_LISTENER_HOST from your node app right before you start the Sonos manager.
current code
similar code is currently used.
https://github.com/svrooij/node-sonos-ts/blob/b6e73140375569d25839785c441f512aaa7c354d/src/sonos-event-listener.ts#L33-L36

Thanks - good points. I will have a closer look at the algorithm. The vmware filter is not the issue - we can leave it out. The interface name for <IP_ADDRESS> is tun0-00 - a vpn tunnel. I guess we can filter that instead - right?
I am not a friend of ENV variables: They are good for system maintainer but not for user. And I loose control. Everyone can (accidentally) change ENV - no security, access restriction, have to be kept in sync wiht program, ...
Why do you prefer ENV over global variable/settings, or just passing as parameters to constructor?
In the moment I can life with that. We can close this issue.
My solution:
Before subscribing I use the other algorithm and set the ENV variable in case it is not already set. That means in most of my cases there is no need to use the config screen.
A bit strange: A program reads ENV, set ENV and then another part does the same. But it works for me.
You can see the config screen in the attachment. The user can start a search and select the  ip address. Unfortunately the changes needs another restart of node-RED.

Thanks - good points. I will have a closer look at the algorithm. The vmware filter is not the issue - we can leave it out. The interface name for <IP_ADDRESS> is tun0-00 - a vpn tunnel. I guess we can filter that instead - right?
I am not a friend of ENV variables: They are good for system maintainer but not for user. And I loose control. Everyone can (accidentally) change ENV - no security, access restriction, have to be kept in sync wiht program, ...
Why do you prefer ENV over global variable/settings, or just passing as parameters to constructor?
In the moment I can life with that. We can close this issue.
My solution:
Before subscribing I use the other algorithm and set the ENV variable in case it is not already set. That means in most of my cases there is no need to use the config screen.
A bit strange: A program reads ENV, set ENV and then another part does the same. But it works for me.
You can see the config screen in the attachment. The user can start a search and select the  ip address. Unfortunately the changes needs another restart of node-RED.

A closer look makes me wonder that it's just a matter of order. Your code gives the ip of the first interface, and the current code gives the ip of the last interface. And since the default interfaces on linux start with ens.. or eth.. taking the first is better then taking the last tun.. in this case.
Also tun can always be filtered? Since you probably wont connect to sonos over a vpn (and the sonos speaker is able to connect back)

A closer look makes me wonder that it's just a matter of order. Your code gives the ip of the first interface, and the current code gives the ip of the last interface. And since the default interfaces on linux start with ens.. or eth.. taking the first is better then taking the last tun.. in this case.
Also tun can always be filtered? Since you probably wont connect to sonos over a vpn (and the sonos speaker is able to connect back)

Just for your information: I checked the internet for interface names and put together this list:

at -ATM
docker - docker installation
en - used at apple
eth - ethernet wired
fw - firewire
ib - infiniband
lo -loopback also lo0
sit
sl - serial line interface
so - serial optical interface
stf - transition ipv4, ipv6
tun - tunnel, vpn
tr - token ring - still there)
ural
vmk - vmware
vi - virtual ip address
wlan - wireless
ww - wireless lan

Just for your information: I checked the internet for interface names and put together this list:

at -ATM
docker - docker installation
en - used at apple
eth - ethernet wired
fw - firewire
ib - infiniband
lo -loopback also lo0
sit
sl - serial line interface
so - serial optical interface
stf - transition ipv4, ipv6
tun - tunnel, vpn
tr - token ring - still there)
ural
vmk - vmware
vi - virtual ip address
wlan - wireless
ww - wireless lan

And this list is just for linux/mac they are different on windows.
So it's still luck to pick the right one. Alphabetical it just takes the first one (that should fix your issue) and it allows setting the host/port with SonosEventListener.DefaultInstance.UpdateSettings({ host: 'fake-host' , port: 10000 });

And this list is just for linux/mac they are different on windows.
So it's still luck to pick the right one. Alphabetical it just takes the first one (that should fix your issue) and it allows setting the host/port with SonosEventListener.DefaultInstance.UpdateSettings({ host: 'fake-host' , port: 10000 });


A duplicated secret definition in Helm template

Describe the bug
There are two definitions of default-cluster-registration-key:
# Source: llmariner/charts/cluster-manager-server/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: default-cluster-registration-key
  labels:
    helm.sh/chart: cluster-manager-server-1.5.3
    [app.kubernetes.io/name](http://app.kubernetes.io/name): cluster-manager-server
    [app.kubernetes.io/instance](http://app.kubernetes.io/instance): llmariner
    [app.kubernetes.io/managed-by](http://app.kubernetes.io/managed-by): Helm
type: Opaque
data:
  key: ...
---
# # Source: llmariner/templates/secrets.yaml
# apiVersion: v1
# kind: Secret
# metadata:
#   name: default-cluster-registration-key
#   labels:
#     helm.sh/chart: llmariner-1.10.0
#     [app.kubernetes.io/name](http://app.kubernetes.io/name): llmariner
#     [app.kubernetes.io/instance](http://app.kubernetes.io/instance): llmariner
#     [app.kubernetes.io/managed-by](http://app.kubernetes.io/managed-by): Helm
# type: Opaque
# data:
#   key: ....
---

To Reproduce
TBD
Expected behavior
There should be only one.

The secrets are defined in the following places:

https://github.com/llmariner/cluster-manager/blob/main/deployments/server/templates/secret.yaml
https://github.com/llmariner/llmariner/blob/main/deployments/llmariner/templates/secrets.yaml#L37

The first secret is created if .Values.defaultCluster.name is set.
The second secret is created if .Values.prepare.workerRegistration.createSecret is set. The intent was that this is set to true in the worker-plane cluster from the following helmfilie.yaml.

https://github.com/llmariner/llmariner/blob/main/provision/dev/helmfile.yaml#L241

We need this since the first secret is created in the control-plane cluster.

@Ladicle , do you have any thoughts around this? I think it's better if we can avoid this by detecting configuration issues, but  I'm not sure what's the best way.

I'm sorry, but I'm still a bit unclear about what we're trying to solve. Typically, when we install it in a single cluster, we use standalone mode, which creates just one Secret for the registration key. Even if we choose to deploy the control and worker planes separately, the Secret will be placed in a different namespace, so there shouldn't be any conflict, right?


Add stripe

Summary

Add stripe to UI
Checklist

[x] My code follows the code style of this project and passes make format.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate unit test coverage.

@homanp Thank you for the pull request! Overall, the changes look good. I have a few suggestions:

In the .env.example file, it would be better to mark the new environment variables as optional rather than mandatory. You can update the comment to reflect this change.

In the client-page.tsx file, it would be helpful to add some error handling for the Stripe customer creation. You can use a try-catch block to handle any potential errors.

In the stripe.ts file, it would be good to add some error handling for the case when the NEXT_PUBLIC_STRIPE_SECRET_KEY environment variable is not provided. You can throw an error or log a warning message.

In the package.json file, it would be better to move the stripe package to the dependencies section instead of the devDependencies section.

Other than these suggestions, the changes look good. Thank you for your contribution!


[Communication] - short-codes - fixing live tests for communication-short-codes

Packages impacted by this PR
communication-short-codes
Issues associated with this PR
N/A
Describe the problem that is addressed by this PR
Fixing live tests in communication-short-codes package.
Recently some attributes were removed from the response of the short codes APi calls, hence we needed to remove attributes from the expected response.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
N/A
Are there test cases added in this PR? (If not, why?)
Yes
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

pipeline errors are due to another package: communication-sms,  waiting for this PR to be completed:
#21345

Recently some attributes were removed from the response of the short codes APi calls, hence we needed to remove attributes from the expected response.

@rtrevino89  Can you please provide a link to the related PR? Isn't it a breaking change?

@petrsvihlik  the "breaking" change comes from another non-public repo. There was some discussion related to arrays, if they should be empty or null. The final decision was for the arrays to be initialized null (hence removed from the response).
Yes, you could say its a breaking change, however since they are on Public Preview, breaking changes are allowed.


Feature request: Amazon MQ support

It would be great if Sensu could use Amazon MQ (which, as of this writing, means Apache ActiveMQ 5.15.0) as a transport.
Just as Sensu's support for ElastiCache means we don't have to manage Redis ourselves, support for Amazon MQ would mean we don't have to manage RabbitMQ ourselves.  This would lighten the footprint and undifferentiated heavy lifting of AWS Sensu deployments.
In the meantime, I'll likely be using the third-party SNS/SQS transport.
Thanks.

@kdegraaf To address my own curiosity, could you comment on why you closed this issue?

@kdegraaf same question here. It doesn't seem to have incorporated support for Amazon MQ as a transport option, why is this closed?


referencing-values-with-refs translated in hindi

English to Hindi: Referencing values with refs #222

Great work.
I have added review till line 208. Let's get these fixes and then we can cotninue further with the review.
To know more about our review process you can refer #23

Thanks for the review, I will correct my mistakes as soon as possible!

I have fixed my translation mistakes, and I am very sorry for my silly mistakes, Please review further so that we get this done as fast as possible. Thank you! @arshadkazmi42 .

Thanks for working on the fixes.
I have added some more reviews till line 306.

thank you! i will fix it as soon as possible!!

Thanks for working on the fixes.
I have added some more reviews till line 306.

Thank You!, I have fixed my mistakes. Lets move further!!

Thank you for working on this fixes.
I have added review for rest of the file. Once these are fixed we can get this merged.

Thank you sir!
I completed all the changes you mentioned above!


Very sorry showing from "node-libs-browser"

Do you want to request a feature or report a bug?
Bug/feature
What is the current behavior?
Right now, I am looking to mock the majority if not all Node.js modules for the browser.
 Can I help create these mocks/polyfills? I would be glad to help!...

see webpack/node-libs-browser repo.
btw. the values translate into the following:
true: Use a full replacement which tries to provide equal behavior like the node.js module
"mock": Use a minimal replacement that doesn't provide any useful behavior but doesn't crash on load
false: Don't use a replacement, it will error when you try to load it.

hmmm, I will try true instead of "mock" for some of these...

@sokra I have my own fs shim/polyfill that I would like to use. How can I use it with Webpack to patch fs in the browser? There is currently no fs shim in the node-browser-libs project and that's a big problem for me. Please lmk thanks.

Actually, the list of supported (or half-supported) node core modules is longer :grin: (thanks to the browserify community):

Not supported modules are modules that cannot be implemented in a compatible way inside the browser.
Shimming the fs module is exceptional hard because there is no official fs access inside the browser. If you want to access files on your server, you need to do this on build time (in case your bundle is built on the server). In this case, it's better to use the require context feature where you can specify a regular expression what files you want to include inside the bundle. Be careful, this can make your bundle very big because it includes every file inside that directory that matches the regexp.

@jhnns @sokra
thanks - it's very important for me to be able to create my own shims and polyfills.
TBH, some of these "official" ones on the list that @jhnns do not work well or do not fit my use case at all.
What I need to be able to do is tell Webpack to use my polyfills, e.g.:
// webpack.config.js

node: {
  assert: true,
  fs: 'oresoftware/my-fs-polyfill',
  path: 'oresoftware/my-path-polyfill'
}

this is very important to me, and this will be of benefit to the community at large.
the most important thing to be aware of here, is that there is no official polyfill for fs - but I have one, that works for me!
I want to use it with Webpack. How can I do that? Is there any docs for this? thanks!

@jhnns I have a specialized shim/polyfill for fs that will work for my use case - I am looking for a way I can use my shim instead of the non-existent official shim. I guess aliases might work?

@jhnns thanks, nevermind, I think you answered my question on another thread - resolve.alias should work, thanks!


obs-studio: 22.0.2 -> 22.0.3

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/obs-studio/versions.
meta.description for obs-studio is: '"Free and open source software for video recording and live streaming"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/bin/obs passed the binary check.
/nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/bin/.obs-wrapped passed the binary check.
2 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 22.0.3 with grep in /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3
directory tree listing: https://gist.github.com/ac6c868e5ba93d95396e254ecda0b0b3
du listing: https://gist.github.com/ba30dd5ac8d339f33e94d0cea54290a9

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/ecd4fc5292f3a5bc5070a4dd4bb8f9cf7fa82fbf.tar.gz -p obs-studio
ls -la /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3

cc @jb55 @MP2E for testing.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: obs-studio
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Failure on aarch64-linux (full log)
Attempted: obs-studio
Partial log (click to expand)
100   128    0   128    0     0   1684      0 --:--:-- --:--:-- --:--:--  1684
builder for '/nix/store/hvjwn3xwr1cr39fg8wbgl5i68raxki5a-live555-2018.02.28.drv' failed with exit code 2
100   129    0   129    0     0    821      0 --:--:-- --:--:-- --:--:--   821
copying path '/nix/store/q3dw4l9rq1rdw4qvzng53fl3n89wxpaf-libcaca-0.99.beta19-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/kh2lv6mshdsxzz4ncmnvrldcm5j7giay-samba-4.7.9-dev' from 'https://cache.nixos.org'...
cannot build derivation '/nix/store/2w4gv5knvpa30v69mpwx1ajv0nsy4mv1-vlc-3.0.4.drv': 1 dependencies couldn't be built
100 5874k    0 5874k    0     0  6420k      0 --:--:-- --:--:-- --:--:-- 9107k
unpacking source archive /build/22.0.3.tar.gz
cannot build derivation '/nix/store/cfgmdr82kn9rhkc24vb8dfka60k6rl2f-obs-studio-22.0.3.drv': 1 dependencies couldn't be built
error: build of '/nix/store/cfgmdr82kn9rhkc24vb8dfka60k6rl2f-obs-studio-22.0.3.drv' failed

Success on x86_64-linux (full log)
Attempted: obs-studio
Partial log (click to expand)
shrinking /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/lib/libobsglad.so.0
shrinking /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/lib/libobs-frontend-api.so.0.0
shrinking /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/lib/libobs.so.0
shrinking /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/share/obs/obs-plugins/obs-ffmpeg/ffmpeg-mux
shrinking /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/bin/.obs-wrapped
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/lib  /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3/bin
patching script interpreter paths in /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3
checking for references to /build in /nix/store/yqzxizrdk9bhmmxczffjqvxx64f2h0z6-obs-studio-22.0.3...
postPatchMkspecs

@GrahamcOfBorg build obs-studio

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: obs-studio
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Failure on aarch64-linux (full log)
Attempted: obs-studio
Partial log (click to expand)
copying path '/nix/store/7fdp5mvrj0g8mvwf8ir4avxmksi1hsrd-qtbase-5.11.1-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/hmnwhj458gvdhslm6j1qr7xm7im8x4wg-qtsvg-5.11.1' from 'https://cache.nixos.org'...
copying path '/nix/store/v62c6a716dryy3h0g5bb4n3wk58yc8l1-qtbase-5.11.1-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/82wi9by7hnwdrs9y672qa1ha0h6h7amd-qtsvg-5.11.1-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/3knj0yxa72087vbvrzzcxh5b3p9pa0bb-qtx11extras-5.11.1' from 'https://cache.nixos.org'...
copying path '/nix/store/d22x7faknbay0fqzf33fq49kpqp3jyax-qtsvg-5.11.1-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/v468lr348fhd1lgqn04khr7m14j8dflr-qtx11extras-5.11.1-dev' from 'https://cache.nixos.org'...
cannot build derivation '/nix/store/23s81pxq4h0vhidrws4l27aqi33szlm7-vlc-3.0.4.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/wnvw44n3zwvba3mfqzzrzbi3c3p0jyha-obs-studio-22.0.3.drv': 1 dependencies couldn't be built
error: build of '/nix/store/wnvw44n3zwvba3mfqzzrzbi3c3p0jyha-obs-studio-22.0.3.drv' failed


HDDS-9865. Add outline of docs sections and pages.

This PR builds on #52. Once that one is merged, the set of changes here will just be related to pages under the docs section of the website.
Create the docs sidebar and an outline of pages to fill in as part of the documentation. Each incomplete page links to the parent jira where a subtask can be created to fill it in.
TODO

[x] Merge #52 and rebase this PR.
[x] Troubleshooting and System Internals sections do not yet have a skeleton.

I added skeletons for the remaining sections. There are 200 markdown pages as part of the current outline. This should be ready to review and merge.

Thanks for the review @swagle


FE-17: Discover Page Backend Connection

What's up?
As the discover page design is completed #267, backend connection should be provided.
To Do

[x]  Provide backend connection for discover artitems page.
[x]  Provide backend connection for discover users page.

Deadline
05.12.2022 @12.00
Additional Information
No response
Reviewers
@kostanya

Task was completed by @kostanya and related pages shown in presentation. Thanks for your great effort!


Add build version info

#30  👈
main

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

Join @kanziw and the rest of your teammates on  Graphite


Subscribe to a user

Subscribe to a user
As a stacker, I'd like to be notified when another stacker has activity (posts, comments, etc.)
UX Proposal
Add an overflow menu next to stacker's nym in their profile page with the "subscribe" item. Toast feedback just like when subscribing to a post
Technical Proposal
new DB model: UserSubscription
followerId    Int
followeeId    Int
createdAt     DateTime @default(now()) @map("created_at")
follower      User     @relation(fields: [followerId], references: [id], onDelete: Cascade)
followee      User     @relation(fields: [followeeId], references: [id], onDelete: Cascade)

@@id([followerId, followeeId])
@@index([createdAt], map: "UserSubscription.created_at_index")

new gql mutation: subscribeUser(id: ID) which toggles the user subscription for the specified user
update the user typeDef to include a boolean meSubscription field, indicating whether the calling user is subscribed to the target user
update the user api resolver to implement the meSubscription field using the above model
update the notifications api resolver for the notifications query to also search for items (posts, comments) that are from any followed users.
Question: Introduce a new notification type, or re-use reply?
I'm sure there's more details I've overlooked, but this is what I expect it to take to make this happen.
Thoughts? Concerns? Questions?

Legit! We'll probably want a new notification type

People have asked for this.

I basically just think of things I have wanted to do on SN and try to make them happen :P

That is the way!


Cannot add permissions within

AFAIK, it's not valid to use <uses-permission> within an <activity>.  I'm not sure why this plugin needs to add this permission, but if it really does, it should live in parent="/*"

Close #9


Vs Susie Code

Hello! I know this isn't the right place to put something like this, but I couldn't find an easier way to contact you. Is there any chance you could post the code to Vs Susie on GitHub? Thanks! ~Kneesnap

Done.
https://github.com/TML233/deltarune_vs_susie


updated with availability in all the public regions

updated with availability in all the public regions

@ramankumarlive : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Left, right and bottom HP and AR bar positions

Took me 3 days for my dumbass to figure out how to draw horizontally but i finally did it and i want to release some of my stress by sharing my work with you, so here you are :)
With this pull request you can choose the position of the health and armor bars between 3, left, right and bottom of the box. And don't worry i've taken care of the side text and bottom text to make sure the bars and text don't overlap!
Video:
https://streamable.com/jg4xqd
edit: going to upload another commit in a second to make the bottom bars larger
edit #2: everything should be perfect now, enjoy :)
@danielkrupinski give this a look, it's pretty cool

it looks great! if i could suggest 1 thing however, unify the thicknesses between the bottom, left, and right versions of each. just pixel check them and make sure they're all the same width :)

my second commit made them a little thicker but i just realised they are not exactly the same width, will fix that now @notmugi 👍

actually it's probably best i dont because they get thicker at distance

the current thickness is not perfectly the same but not a huge issue imo

actually it's probably best i dont because they get thicker at distance

the current thickness is not perfectly the same but not a huge issue imo

But still not having the same width.

@Oly-UK ur the best man, maybe you can help me with it, because i'm too stupid to add it to my modified  code, if you can, just create pull request to my repo, thx

@rosesware pixel checked, they are the same now

idk why the esp.cpp is now fucked, i guess im not commiting right, but if you just click view file you can C+P it

@Oly-UK can you show a screenshot of it fixed?

turns out i was a pixel off :/


cmake build is not installing library

Click to expand!
Issue Type
Build/Install
Source
source
Tensorflow Version
master
Custom Code
No
OS Platform and Distribution
Ubuntu 20.04.4 LTS
Mobile device
No response
Python version
3.8.5
Bazel version
No response
GCC/Compiler version
9.4
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
Using CMake and specifying a CMAKE_INSTALL_PREFIX, the source compiles library is not being installed in the specified path.

Standalone code to reproduce the issue
cmake \
      -DBUILD_SHARED_LIBS=ON \
      -DCMAKE_BUILD_TYPE=$build_type\
      -DCMAKE_CXX_COMPILER:FILEPATH=$(which $CXX) \
      -DCMAKE_C_COMPILER:FILEPATH=$(which $CC) \
      -DCMAKE_INSTALL_PREFIX=${pkg_install} \
      -DABSL_PROPAGATE_CXX_STD=ON \
      -DTFLITE_ENABLE_INSTALL=OFF \
      ../tensorflow/lite

### Relevant log output

_No response_</details>

Could you please refer this document here https://cmake.org/cmake/help/latest/command/find_package.html to find the package. Let us know if this helps. Thanks!

There are no installed files/shared objects in the CMAKE_INSTALL_PREFIX path for the configuration.

@sachinprasadhs Is there any help you can offer here? I'm still not able to build from the source using CMake.

Hi @sconde,
Thanks for reporting the issue, we don't have access to your exact environment and you are using environment variables in your command, can you please let us know what those are?
specifically: $CXX, $CC, ${pkg_install}, you can output them with this command:
echo $CXX


Switch to PrettyTable

PrettyTable is now maintained by jazzband and a new release is out.

Hmm, that's a breaking change to be considered in the next major release.

I came here to suggest the same thing. Since PTable hasn't seen a release since 2015, it's basically abandoned. It is nice to see prettytable alive again: https://github.com/jazzband/prettytable

I came here to suggest the same thing. Since PTable hasn't seen a release since 2015, it's basically abandoned. It is nice to see prettytable alive again: https://github.com/jazzband/prettytable

I was just following the implementation of the prettytable package for another issue and noticed one thing.
In the current version of prettytable 2.5.0, the number of dependent packages has increased.
https://github.com/jazzband/prettytable/blob/2.5.0/setup.cfg
[options]
install_requires =
    wcwidth
    importlib-metadata;python_version < '3.8'

So, after switching from PTable to prettytable, we need to decide whether we should add more system packages?
ref) #119 #117 #89

So, after switching from PTable to prettytable, we need to decide whether we should add more system packages?

This is a good point... Ideally there wouldn't need to be extra system packages, but I do think that anything that pip-licenses depends on should be excluded by default since it will be extremely likely that the end user isn't actually depending on them.
Perhaps the additional dependencies are a motivation to stay with PTable if it's not causing issues? How would you rate the current maintenance burden of PTable not being maintained?
Then there is the extra question of what happens when prettytable decides to add extra dependencies, some of which could be common?

Perhaps the additional dependencies are a motivation to stay with PTable if it's not causing issues? How would you rate the current maintenance burden of PTable not being maintained?

Yes, in the case where pip-licenses outputs a license list, I would rate PTable as stable enough. However, we may have an unknown bug, or it may not work in future Python versions.

Then there is the extra question of what happens when prettytable decides to add extra dependencies, some of which could be common?

I read a bit about how the dependency was added to prettytable. It was to better handle Unicode, such as CJK. As I am also a Japanese speaker, I understand this addition. However, many open source licenses are written in English, which is a feature that pip-licenses do not need. prettytable is being developed on a community basis, and more features will be added in the future.
I have one idea and solution. That's vendoring original PTable code in pip-licenses and distributes it.
-from prettytable import PrettyTable
+from ._vendor.prettytable import PrettyTable

 SYSTEM_PACKAGES = (
     __pkgname__,
     'pip',
-    'PTable' if PTABLE else 'prettytable',
     'setuptools',
     'wheel',
 )

This idea will resolve the dependency of pip-licenses on external packages.
That's the problem with this idea:

We have to maintain the issues left over from the original PTable.

https://github.com/kxxoling/PTable/issues

Must be distributed with attention to the terms of the BSD-3-Clause license.

I have one idea and solution. That's vendoring original PTable code

That is a great idea I hadn't considered. It basically solves two issues because now you don't have to consider it a system package and have the ability to fix an issue if one arises. If there are no issues, then nothing needs to be changed, right?
I think this is a great path forward.

Another similar option would be to fork and release PTable2. The down side to this is they others might ask you to maintain and update it, which might be out of scope for what you want to do with your spare time.

distros have policies that require de-vendor packages, because they require separate copyright metadata for each component with different author/copyright/etc.  And PTable cant be de-vendored because it clashes with PrettyTable.
In effect, vendoring PTable is going to mean pip-licenses becomes hard to maintain as a distro package, and probably will be dropped.  Currently https://repology.org/project/python:pip-licenses/versions shows it is only me maintaining SUSE and someone else maintaining FreeBSD, but that list will grow if pip-licenses stays distro-friendly.
Note https://pypi.org/project/ptable2/ already exists, and it uses prettytable as its install directory, so the same clash problem exists.  You could release as PTable3 and install into ptable3  to avoid the namespace clash, but I would have a hard time justifying creating a distro package for this new PTable3 which only has a single use: pip-licenses.
I would suggest vendoring the jazzband PrettyTable , and either removing the extra deps, slightly reducing the functionality, or also vendoring those.  I would argue that pip-license needs to be multi-lingual as I (as creator of https://github.com/jayvdb/pypidb)  have seen plenty of python package metadata needing wcwidth.  But if you are going to vendor, as maintainer of the SUSE pip-licenses, I dont mind if I have to de-vendor PrettyTable - that is doable.  There is no clash to worry about.
The tool https://pypi.org/project/vendoring/ should be suitable for recursive vendoring, if you want to go down that path. Its warning about not using the tool is effectively repeating what I've said above.

@jayvdb Thanks for the information.
I understand that there is a problem with the installation directory. I usually use a various distro packages and have a lot of respect for the maintainers.
In reality, in some distro environments, the combination of pip-licenses and jazzband PrettyTable is broken and does not work as reported in #119. This is a problem we want to solve.

I would suggest vendoring the jazzband PrettyTable , and either removing the extra deps, slightly reducing the functionality, or also vendoring those. I would argue that pip-license needs to be multi-lingual as I (as creator of https://github.com/jayvdb/pypidb) have seen plenty of python package metadata needing wcwidth. But if you are going to vendor, as maintainer of the SUSE pip-licenses, I dont mind if I have to de-vendor PrettyTable - that is doable. There is no clash to worry about.
The tool https://pypi.org/project/vendoring/ should be suitable for recursive vendoring, if you want to go down that path. Its warning about not using the tool is effectively repeating what I've said above.

Thanks, I've touched up the vendoring package a bit too. This tool is optimized for pip development, which is a bit over-specified. For example, we do not currently maintain pyproject.toml either.
It is a difficult choice whether to vendoring wcwidth as well as a single package... Your advice has been greatly helpful.

I currently don't have much time to spend on this project, but we need to resolve the issue of dependence on PTable.
I get the following message when I pip install .
Installing collected packages: PTable
  DEPRECATION: PTable is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for PTable ... done

Switching to prettytable is probably the best option. We have a test suite, which should at least detect if there are regressions.
Is that what you think is the best option?

I agree the best option is to switch to jazzband/prettytable.
Much time is needed to realize the migration plan.

This issue has been resolved in pip-licenses 4.x
https://pypi.org/project/pip-licenses/4.0.0/


Provide a debian package for grpc_csharp_ext.

Because C# has no support for building native extensions (unlike other wrapped languages) and the native code interop works differently in C#, the native extension for C# needs to be shipped as a debian package.
The layout of the grpc_csharp_ext package is simple:
-- the package only needs to contain libgrpc_csharp_ext.so shared library (C#/mono process will load it dynamically and invoke the functions in it using P/Invoke). No other files like headers are needed.
-- The library depends on libgrpc and libgpr.
-- The library is currently built and installed using the "make grpc_csharp_ext; make install_grpc_csharp_ext" commands.

I have something that is ready, I'll send a PR shortly. Just something I noticed in the build output that may be fixable in a future release:
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0/usr/lib/libgrpc.so.<IP_ADDRESS> was not linked against libdl.so.2 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0/usr/lib/libgpr.so.<IP_ADDRESS> debian/libgrpc0/usr/lib/libgrpc.so.<IP_ADDRESS> were not linked against libprofiler.so.0 (they use none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0-cil/usr/lib/libgrpc_csharp_ext.so.<IP_ADDRESS> was not linked against libz.so.1 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0-cil/usr/lib/libgrpc_csharp_ext.so.<IP_ADDRESS> was not linked against libm.so.6 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0-cil/usr/lib/libgrpc_csharp_ext.so.<IP_ADDRESS> was not linked against libprofiler.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0-cil/usr/lib/libgrpc_csharp_ext.so.<IP_ADDRESS> was not linked against libpthread.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libgrpc0-cil/usr/lib/libgrpc_csharp_ext.so.<IP_ADDRESS> was not linked against librt.so.1 (it uses none of the library's symbols)

I had a lengthy chat in #debian-cli today, and I think the way I've prepared the packaging so far is completely wrong :-)
http://pkg-mono.alioth.debian.org/cli-policy/ch-packaging.html covers how such packages should be made. I've been told that libglib2.0-cil is a good example to crib from.

This is now obsolete. gRPC C# nugets work on windows, linux and mac without any extra steps needed.


Binary Custom Editor support on Live Share

We are really happy that Binary Custom Editor also works on visual studio core online. Congrats to everyone involved. (gif).
I wonder what if the roadmap to also provide Binary Custom Editor on Live Share. Currently, they don't appear on the 'editing list' of a live share session. gif
Is there anything related to this on the roadmap?
I'm more than open to collaborating with this if necessary. Thanks and keep you the awesome work
Eder

hi @mjbvz - is this considered for the binary custom editors?

Please start by filing this issue against live share. They can follow up with us if any changes are needed to support this on the VS Code side


Add OAuth 2.0 token-based support for sending emails

Description of problem
As reported here: https://dnncommunity.org/forums/aft/3003
MS is ending support for basic authentication see:
In September 2021, we announced that effective October 1, 2022, we will begin disabling Basic authentication for Outlook, EWS, RPS, POP, IMAP, and EAS protocols in Exchange Online. SMTP Auth will also be disabled if it is not being used. See full announcement: Basic Authentication and Exchange Online – September 2021 Update.
This will mean that sending emails from DNN using an Office 365 / Exchange  / Outlook account would no longer be possible.
Description of solution
To be discussed..
Description of alternatives considered

Google will also stop allowing SMTP
https://support.google.com/accounts/answer/6010255?hl=en#:~:text=To help keep your account,only your username and password.

More info: https://techcommunity.microsoft.com/t5/exchange-team-blog/announcing-oauth-2-0-client-credentials-flow-support-for-pop-and/ba-p/3562963

I wish I had more time to delve into this and assist.
Please look at how Duplicati deals with this - see https://www.duplicati.com/articles/OAuth/
There is a service to handle OAuth - https://duplicati-oauth-handler.appspot.com/

Tomorrow is the planned day for Exchange Online
But deadline was extended, Oct 1 2022 MS will disable support with an option to enable it back manually by tenant admin.
It will be finally disabled in Jan 2023 -- this is the final deadline.
https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-september/ba-p/3609437

@mitchelsellers @WillStrohl @david-poindexter @donker @valadas
Sorry for the Github Spam..
First of all, I logged because  a community member pointed me to the possible implications of this issue, not because it's an issue for us.
I would like to know if this is somehow on the Radar as not being able to send emails  from office 365  in the near future sounds like a serious dealbreaker for a lot of DNN users.

@mitchelsellers ok thank you for the feedback.

We'd need some way for the SMTP provider to have its own settings screen (either plugging into what's there or redirect to a separate page). Typically it would open the 3rd party site in a popup and then have an endpoint setup to handle the 3rd party redirect and record the token. I'm assuming this would be a long-lived token, not something that needs to happen on a regular basis.

Honestly, should we support connecting directly to something like O365 for relaying email?  This isn't really a best practice.  You lack all of the tooling to know if email is consistently being sent, reviewing any exceptions, etc.  We should be encouraging people to use an actual SMTP service, right?

IMO it depends on the size of the user base and the number of emails being sent out.
Some sites just send out a couple of administrative mails per year.

@WillStrohl Well I think we might have quite a lot of Users that use an office 365 email account and if it does work with other email providers and not with the MS service that's going to be difficult to explain to the non tech / nerd user IMO.

https://github.com/dnnsoftware/Dnn.Platform/pull/5460 was submitted to support this scenario but unfortunately we don't have any testable implementation. Would be nice if we can resolve that last part.

@fablaser 2 implementations were submitted after my previous message and the Pull Request was merged.
The documentation to setup for Microsoft is in the https://github.com/jstedfast/MailKit/blob/master/ExchangeOAuth2.md
I was able to get to the authentication part but then could not send emails. My Microsoft account is all whacked though. If you want to give 9.13.0 a try, it is currently in RC (Release Candidate) stage but unless any big issue comes up we are doing the official release tonight...

Thank you,
I have some question about oauth implementation in DNN. In the past, I wrote some .NET apps that supports oauth2.0 in both "delegated" and "Application" permissions .
Using Application permissions, you need to set: TenantID, ClientID and Secret. In this case, no need to "authorize"
Using Delegated permissions, you only need to set TenantiID and ClientID. In this case application  needs to "authorize".
In DNN I see that, when I set TenantID, ClientID and Secret, authorize button is shown and it asks for admin password. This sounds strange to me... what is the permission implemented in DNN? Delegated or Application?
Thanks

@fablaser 2 implementations were submitted after my previous message and the Pull Request was merged.
The documentation to setup for Microsoft is in the https://github.com/jstedfast/MailKit/blob/master/ExchangeOAuth2.md
I was able to get to the authentication part but then could not send emails. My Microsoft account is all whacked though. If you want to give 9.13.0 a try, it is currently in RC (Release Candidate) stage but unless any big issue comes up we are doing the official release tonight...

Thank you,
I have some question about oauth implementation in DNN. In the past, I wrote some .NET apps that supports oauth2.0 in both "delegated" and "Application" permissions .
Using Application permissions, you need to set: TenantID, ClientID and Secret. In this case, no need to "authorize"
Using Delegated permissions, you only need to set TenantiID and ClientID. In this case application needs to "authorize".
In DNN I see that, when I set TenantID, ClientID and Secret, authorize button is shown and it asks for admin password. This sounds strange to me... what is the permission implemented in DNN? Delegated or Application?
Thanks

I am not sure... @zyhfish can you shed some light on this ?

This sounds strange to me... what is the permission implemented in DNN? Delegated or Application?

I believe it's Application permission based on the Microsoft documentation I've read and the code that @zyhfish wrote. I have been trying for weeks in both the RC and now in the release version of 9.13 to send an email without success. I've flipped a thousand switches, and I still can't make it work.
I've used the following as the primary guideline: https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth.
If anyone has been successful in getting this to work, I am desperate for assistance. I'm working for a brand-new client, and I can't release the application (nor invoice them) until this is resolved.

@dowdian I am working to try and get some input from @zyhfish as sadly I cannot test this with my O365 client due to permissions issues that limit policies

For what it's worth, I use services specializing in sending emails for all my sites. Something like sendgrid.

@valadas I looked into SendGrid actually. Is that something I can set up on my Azure account to send emails through my clients O365 Exchange instance? I gave up trying to get that set up because the folks managing the client's Exchange instance had difficulty setting up the account with Twilio.
Also, if it's of any use, the failure is happening at line 142 of ExchangeOnlineOAuthProvider.cs.
smtpClient.Authenticate(username, accessToken);

Yes sendgrid is pretty easy to setup, it is a proxy for sending emails out (could be marketing platform but can actu also just as a proxy). You set it up for the "from" address you will be using. You can verify just that address by replying to their email and then you can use plain smtp configuration and your api key is your password.
Now if you need to send emails "from" multiple people from a certain domain, you may want to do a domain verification instead of an email address verification. This will require you to enter some dns entries for verification of ownership of that domain but then you can send from any inbox on that domain.
If you need some help, join us on discord here https://discord.gg/USQSR3KA and ping me up danielvaladas I'll be glad to help you, this is like 10 minutes to setup...

That sounds like the solution I’ve been searching for! I’ll reach out to you on Discord tomorrow. Thank you!!!
Michael Dowd
Sent from my phone

From: Daniel Valadas @.>
Sent: Thursday, October 5, 2023 10:01:57 PM
To: dnnsoftware/Dnn.Platform @.>
Cc: Michael Dowd @.>; Mention @.>
Subject: Re: [dnnsoftware/Dnn.Platform] Add OAuth 2.0 token-based support for sending emails (Issue #5139)
Yes sendgrid is pretty easy to setup, it is a proxy for sending emails out (could be marketing platform but can actu also just as a proxy). You set it up for the "from" address you will be using. You can verify just that address by replying to their email and then you can use plain smtp configuration and your api key is your password.
Now if you need to send emails "from" multiple people from a certain domain, you may want to do a domain verification instead of an email address verification. This will require you to enter some dns entries for verification of ownership of that domain but then you can send from any inbox on that domain.
If you need some help, join us on discord here https://discord.gg/USQSR3KA and ping me up danielvaladas I'll be glad to help you, this is like 10 minutes to setup...
—
Reply to this email directly, view it on GitHubhttps://github.com/dnnsoftware/Dnn.Platform/issues/5139#issuecomment-1749481178, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADHYAC32K5WYF5NCSGIXMDTX5372LAVCNFSM5ZIT6AO2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZUHE2DQMJRG44A.
You are receiving this because you were mentioned.Message ID: @.***>

Same here - SendGrid is our "go to".

Same here - SendGrid is our "go to".

Same.

In the DNN v.9.13 OAuth option, I entered the Auth provider as Exchange Online along with the Tenant ID, Client ID, and Client Secret. Upon clicking the Authorize button, it redirected me to the Outlook login page. After completing the 2FA, I encountered the error message "Original exception: AADSTS700025: Client is public so neither 'client_assertion' nor 'client_secret' should be presented."
I believe the issue doesn't lie with the IDs, keys, or application registration settings, as I am successfully using them in my own code to send emails. Since the only option available to me is to use the Office 365, I would appreciate any assistance. Thanks.

In the DNN v.9.13 OAuth option, I entered the Auth provider as Exchange Online along with the Tenant ID, Client ID, and Client Secret. Upon clicking the Authorize button, it redirected me to the Outlook login page. After completing the 2FA, I encountered the error message "Original exception: AADSTS700025: Client is public so neither 'client_assertion' nor 'client_secret' should be presented."
I believe the issue doesn't lie with the IDs, keys, or application registration settings, as I am successfully using them in my own code to send emails. Since the only option available to me is to use the Office 365, I would appreciate any assistance. Thanks.

Did you configured web authentication url? You need to set https://YOURDOMAIN/Providers/SmtpOAuthProviders/ExchangeOnline/Authorize.aspx URL.
In my case I can successfully authenticate, but I cannot send emails: it continue using SMTP address:

In the DNN v.9.13 OAuth option, I entered the Auth provider as Exchange Online along with the Tenant ID, Client ID, and Client Secret. Upon clicking the Authorize button, it redirected me to the Outlook login page. After completing the 2FA, I encountered the error message "Original exception: AADSTS700025: Client is public so neither 'client_assertion' nor 'client_secret' should be presented."
I believe the issue doesn't lie with the IDs, keys, or application registration settings, as I am successfully using them in my own code to send emails. Since the only option available to me is to use the Office 365, I would appreciate any assistance. Thanks.

Did you configured web authentication url? You need to set https://YOURDOMAIN/Providers/SmtpOAuthProviders/ExchangeOnline/Authorize.aspx URL.
In my case I can successfully authenticate, but I cannot send emails: it continue using SMTP address:

Yes, I did add the redirect URL. Before adding the URL, the error was" The redirect URL https://YOURDOMAIN/Providers/SmtpOAuthProviders/ExchangeOnline/Authorize.aspx specified in the request does not match the redirect URLs configured for the application . I am using the application permissions. Thanks.


Document "import type" and export ...

It would be useful to have a basic example showing how to export and import type declarations. I have been going through https://github.com/codemix/babel-plugin-typecheck/issues looking for "import export" to understand the syntax.

This seem to work:
export type CsvDataType = Array<Array<String>>;
export type LocationType = {
    country: string,
    sourceNid: string,
    locationNid: string,
    name: string,
    url: string,
    alternativeUrl: ?string,
    street1: ?string
};

import type {
    CsvDataType,
    LocationType
} from './types';

Good idea, added a note to the readme.

Is there a way to export/ import types using node.js module.exports/ require?


Functional test with authenticated client

I'm not able to create an authenticated client to make my functional tests work.
I've seen the documentation about it but I don't understand to which controller /api/login_check should redirects.
I'm developing a rest api so I have no login form. Authentication is done with oauth, using HWIOAuthBundle.

hey,
i'm trying to implement it with HWIOAuthBundle and i'm not sure 100% sure about the way i should take to do it.
Could you explain how you did it and/or share code ? It would be very helpful !!
thanks

@yanict Are you talking about the testing part or the configuration between HWIOAuthBundle and LexikJWTAuthenticationBundle for the firewall?

about the configuration between HWIOAuthBundle and LexikJWTAuthenticationBundle.

@yanict Open anew issue then and I'll try to answer it, but I'd like to keep this issue focused on my case.

ok thanks, actually there already is an issue for that but it has been closed a year ago. https://github.com/lexik/LexikJWTAuthenticationBundle/issues/64

@yanict I've answered in the corresponding issue.


fixes basic auth example doc; adds apikey example

Fixes a documentation link issue. The basic auth example link was under the api key example docs. This PR also implements an example for apiKey security scheme.
One question though (there are TODOs in the code I would like to update), the Connexion docs state that the x-apikeyInfoFunc method takes two parameters, apikey and required scopes. In testing, the required scopes are always None, and after looking at the openapi spec (https://swagger.io/docs/specification/authentication/#scopes) it appears that scopes are not used for the api key scheme.
Should the x-apikeyInfoFunc method not take in a required_scopes arg?

I see in the Connexion code where the required scopes are gathered (https://github.com/zalando/connexion/blob/2.2.0/connexion/operations/secure.py#L93) and I assume this is to match the openapi spec (so only gather the required scopes if the scheme is oauth2). I will remove the TODOs.

Thanks for adding this example!

:+1:


MSIE webbrowser component not working

Dear visjs
I'm a developer in Korea.
I'm not good at English.
I need your help.
I'm stucked developing network diagram.
It works in ordinay web browser. IE11 also works greatly.
But the problem is when I use Webbrowser component that supported Microsoft.
I tested vis in "webbrowser component".
The problem is Event.
mouse drag, click,selectnode are not working. But scrolling, hovernode works.
It gives me same result when I use example from visjs.
But cytoscape is working in web and webbrowser component.
And I can not get the node id in hovernode at webbrowser component.
I have to develope flow diagram using not visjs.But It is so sad to me.
I want to use visjs.
Is there any solution?
My project closes in December.
Please help me.
Thank you.

Hi @joyholdgod,
this sounds a bit like an issue that appeared in 6.1.2 and should be resolved since 6.4.3, I'm not 100 % sure though. Could you test it with 6.4.3 explicitly and if the issue still persist post a screenshot with console output?
Thanks.
PS: I have never worked with webbrowser components. Could you maybe provide an MWE that I could use for testing?

I'm not famillier github.
I tested 6.4.3.

download vis-neteork-6.4.3.zip
unzip the zip file.
double click "examples/network/basicUsage.html"
nodes and edges not displayed
edited source basicUsage.html
../../standalone/umd/vis-neteork.min.js
=> edit => ./vis.js
inserted file vis.js in same directory
( vis.js version is 4.21.0 )
opend the file in webbrowser component.
nodes, edges is displayed. Buy dragging is not worked...

In my opinion, vis.js is occure problem. or other.
Shoud I say to vis data of github ?
I cant mail or file to out to others
It is not my ability.
The company that I work is secure reason.
Your profile picture is handsome.
Thank you.

Dear Thomaash
I mailed to you with programm.
Thank you.

So I finally got to properly investigate this and the result is following: MSIE webbrowser component doesn't dispatch pointer* events which we listen to. However it dispatches mouse* events which theoretically could be used instead. A little complication here is that we use Hammer.js to handle these things so it has to be fixed there. I therefore suggest that you open an issue on https://github.com/naver/hammer.js/issues/new and after it's solved and released there we can update Hammer.js here and everything will hopefully work just fine.

I opend the issue!~
Thank you!!!

Dear Thomassh
I got the message from Hammer.js below.
https://github.com/naver/hammer.js/issues/23#issuecomment-557969579

Hello, @joyholdgod!
If the pointer events are the problem here, there's an option to disable it in hammer.js.
That can be done by giving an option with inputClass with value TouchMouseInput when creating a Manager instance.
import { Manager, TouchMouseInput } from<EMAIL_ADDRESS>// Suppose you have this version info..
if (IE_VERSION <= 10) {
const manager = new Manager(someEl, {
inputClass: TouchMouseInput
});
}
If this won't work, please leave any example that can reproduce this issue so we can fix that :)
Thank you!~

So the solution from naver/hammer.js#23 works for the events but that's just a small part of it. Many other parts of the library don't work. The problem is that that thing is IE7. Adding compatibility tag or editing registers don't change anything. It's simply IE7. It even claims to be IE7 in it's user agent. I even checked if globals like window.JSON introduced in IE8 exist and they don't.
I'm sorry that I didn't help you but the oldest browser we support is IE11 (full list on https://browserl.ist/?q=>+0.1%25+or+not+dead). I suggest that you switch to more modern component that is based on something like Chromium or at least IE11/Edge.


requestAnimationFrame on older mobiles (and a solution!)

Just did the "Hello, world!" with v3.15.1 and it works on every browser I've tried except my Android Internet browser.  In the browser console I get

"Uncaught TypeError: Object [object DOMWindow] has no method 'requestAnimationFrame'

Now, I did some digging, and it is because my browser version needs a prefix on the function name.
I'm using Android Browser on a Samsung Galaxy S III running Android 4.4.2.  If I use the debug version of ol, ol-debug.js and change the function on line 67995 from requestAnimationFrame to webkitRequestAnimationFrame, it works on the mobile browser, but of course breaks it for everything else.  This guy has a fix.
var requestAnimationFrame = window.requestAnimationFrame
    || window.webkitRequestAnimationFrame
    || window.mozRequestAnimationFrame
    || window.msRequestAnimationFrame
    || function(callback) { return setTimeout(callback, 1000 / 60); };

If instead of adding the prefix on line 67995, you insert the above polyfill on line 4 after the opening comments and BEFORE the enclosure for any ol code, it also fixes it and of course works for all browsers.  You would probably want to insert the polyfill within the main code block, but I'm not JS savvy enough to figure out how to make that work (I tried, but "window" gets aliased and so the polyfill doesn't work as written).  Anyway, I would be greatly appreciative if you would include this polyfill in the main code.

OpenLayers no longer includes polyfills for old browsers. See the v3.14.0 release notes under the "Internet Explorer 9 support" section.

OK, thanks.  Well, I'll just include it in my copy of OL I guess.


Bubble Shooter Game🎱

🛠 Fixes Issue (Number)

#749

👨💻 Changes proposed and Brief Description

Added Bubble Shooter Game, made using HTML,CSS,JS

✅ Check List (Check all the applicable boxes)

[x] My code doesn't break any part of the project
[x] This PR does not contain plagiarized content.
[x] My Addition/Changes works properly and matches the overall repo pattern.
[x] The title of my pull request is a short description of the requested changes.

📷 Demo:

https://user-images.githubusercontent.com/77873383/168478966-33f93f9e-a92a-4a79-a3db-c33c9b5199e6.mp4

@swapnilsparsh , Kindly check


OculusVR: updated to SDK 1.3

This is pull requests updates current Oculus Rift support implemenation from SDK 0.5 to 1.3. Support for any SDK's prior to 1.3 has been completely dropped.

I added an extra commit that removes the unwanted dependency - turns out it was only a single Rect struct. :)

:+1:


Be able to replace a typed event with the respective start/intermediate/end event version

Problem you would like to solve
As of today it is not straight forward to replace a typed event, i.e. a configured message start event, with the respective intermediate catch event partner. This can be needed as I refactor a process, i.e. the "trigger" is moved from in the flow ("intermediate catch") to an event sub-process ("start").

For example, given a message start in the above capture I'd like to see all of the following variants present:

What I have to do is to do the replace operation in the XML, or (1) create a new event, (2) re-wire all relevant connections, (3) copy manually over all implementation details. This violates our do the hard work and make it simple principle.
Proposed solution

[ ] For any typed event ("timer", "message", ...) the replace menu offers the ability to change to the respective alternative form ("start", "intermediate throw", "intermediate catch", "end")
[ ] Relevant implementation details are preserved (i.e. wired message), where applicable

Alternatives considered
None.
Additional context
Reported by @falko here.

Thanks for the feature request. I think it's a great idea, but since it's not urgent, I am moving this to the backlog.


Find an alternative to react-simple-maps

It doesn't seem like react-simple-maps is maintained anymore, so we should find an alternative.
We only use this package on the About page so it shouldn't be too big of a deal.
https://github.com/zcreativelabs/react-simple-maps
They also have some weird package resolution stuff happening with typescript that means we have to do manual overrides (probably because not maintained typescript exports).

@aapeliv I think you did the original map, just pinging you in case you have any history to add to the ticket!


Get a traceback when trying to retrieve serial log from Secure boot VM

I am deployed a Redhat 8.3 gen2 VM with Secure Boot enabled and I am getting the following error when I am trying to retrieve the Serial log, the Serial log for this VM is present and I can download it from the Portal.
Version
I am using azure-cli from the Cloud Shell:
johan@Azure:~$ az --version
azure-cli                         2.20.0

core                              2.20.0
telemetry                          1.0.6

Error
johan@Azure:~$ az vm boot-diagnostics get-boot-log -g r83t -n r83t
The command failed with an unexpected error. Here is the traceback:
'RetrieveBootDiagnosticsDataResult' object has no attribute 'done'
Traceback (most recent call last):
  File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 660, in execute
    raise ex
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 723, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 716, in _run_job
    six.reraise(*sys.exc_info())
  File "/opt/az/lib/python3.6/site-packages/six.py", line 703, in reraise
    raise value
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 694, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 331, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/__init__.py", line 808, in default_command_handler
    return op(**command_args)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/vm/custom.py", line 1501, in get_boot_log
    uris = LongRunningOperation(cmd.cli_ctx)(poller)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 958, in __call__
    while not poller.done():
AttributeError: 'RetrieveBootDiagnosticsDataResult' object has no attribute 'done'
To open an issue, please run: 'az feedback

hi @qwordy, could you pls have a look? thanks

Will open an investigation.


fix(Error): fix for rowRef[index].ref. null

I am using your react-native-optimized-flatlist library and ran into an error when trying to remove data rows from my array and setting a new state. The error was associated with the rowRefs[index].ref in _updateItem() with index being found as null and so we put in a small fix for this. Thanks.

👍 Thanks for PR 😉


[DatePicker] Enabling setting a month/date that the picker opens on

If I understand the documentation well, as for now there is no way to force the date picker to open on specific month/date. This would be really great. If I set a minDate in the future, the user has to click a lot to move to the month with dates that are enabled to be selected.
Also I think that It would be more user-friendly if the DatePicker's default month would be the month of the minDate, if it's present of course.

I agree this would be a nice feature. The current work around is setting the defaultDate value to the date you want it to open on.

@mpontikes I need the default field value to be empty. Also I'm using a controlled input. This is used in a search form which should allow no date input filled.

This is a problem for me as well.
It seems like the cleanest way to fix this problem is to add something like
else if (props.defaultValue) {
  return props.defaultValue;
}

to DatePicker.js#L237.

Has anyone found a solution to this?

One way to do that with the current implementation is to keep a ref to the date picker component and call setState directly on it, which is ugly and will certainly break some day but it works for now. Something like this:
<DatePicker
  ref={(c) => this.picker = c}
  minDate={minDate}
  onShow={() => {
    if (this.picker.state.date === undefined)
      this.picker.setState({dialogDate: minDate})
    }
  }
/>

It would be much better if the default dialog date was the min date when one is provided.

Hello, same problem here..
What is the status of this issue ?
Thank you

Closing for #4787

One way to do that with the current implementation is to keep a ref to the date picker component and call setState directly on it, which is ugly and will certainly break some day but it works for now. Something like this:
<DatePicker
  ref={(c) => this.picker = c}
  minDate={minDate}
  onShow={() => {
    if (this.picker.state.date === undefined)
      this.picker.setState({dialogDate: minDate})
    }
  }
/>

It would be much better if the default dialog date was the min date when one is provided.

I am having the same issue that the Datepicker needs to open up on the minDate but when I add the onShow to the Datepicker component, typescript complains that the onShow prop is not available on the DatePicker. Any suggestions on this or is there any other way to implement this functionality.
I am using mui version: 5

hi @oliviertassinari, is there any update on this issue?


centered doesn't work with decimal item numbers

Issue description:
Using a decimal to indicate number of items (e.g. items: 3.3, ) causes the center property to miscalculate the position of the 'centered' slide, failing to account for the offset.
Demo link/slider setting:   https://codepen.io/wearingalampshade/pen/rNVmwaw
Tiny-slider version:   current
Browser name && version:  current versions of firefox and chrome
OS name && version:  max catalina baby

This bug was also affecting me but I was able to "fix" it by translating my slides in css.
If I'm supposed to have 1.4 slides, centered, I add the "transform: translateX(20%);" styles to my slide items.

This bug was also affecting me but I was able to "fix" it by translating my slides in css.
If I'm supposed to have 1.4 slides, centered, I add the "transform: translateX(20%);" styles to my slide items.

Just in case someone stumbles upon this, I can say it works. Thanks for the suggestion!

Stumbled on this issue as well and ChatonMeow's solution worked.

this bug still bugs

this bug still bugs

@OwenMagelssen At this point I'd suggest just switching to https://swiperjs.com/, this project hasn't been updated in the last 2 years, while SwiperJS works really great and has integrations with all the common frameworks.

this bug still bugs

@OwenMagelssen At this point I'd suggest just switching to https://swiperjs.com/, this project hasn't been updated in the last 2 years, while SwiperJS works really great and has integrations with all the common frameworks.

thank you for the recommendation

I think this is due to this line.
Removing the Math.floor rounding function:
items = !autoWidth ? Math.floor(getOption('items')) : 1

so that it reads:
items = !autoWidth ? getOption('items') : 1,

preserves any decimal value you might assign to it. The horizontal transform for the container is then correctly calculated so that it centers correctly.


[Request] YT-Spammer-Purge

Package Request
Information
Name: YT-Spammer-Purge
Description:  Allows you to filter and search for spammer comments on your channel and other's channel(s) in many different ways AND delete/report them all at once
Homepage: https://github.com/ThioJoe/YT-Spammer-Purge
Download link(s): https://github.com/ThioJoe/YT-Spammer-Purge/releases/download/v2.16.7/YTSpammerPurge.2.16.7.exe
Some indication of popularity/repute: 3.4k stars, featured in a MKBHD video

I made a manifest for this: https://github.com/tech189/Extras/blob/tech189-yt-spammer-purge/bucket/yt-spammer-purge.json
However, as far as I can tell, the program depends on being run from the folder it is located in, so it can find the client_secrets.json file. So a shim won't work unless you run it from the installation folder, defeating the point of a shim. Are there any cmd-line options to use client_secrets.json saved elsewhere?
Or alternatively, we could make a shortcut instead of a shim that opens correctly:
"shortcuts": [
        [
            "YTSpammerPurge.exe",
            "YouTube Spammer Purge"
        ]
    ],

@tech189 I have not seen shortcuts before, where can I read more about this?
I think if we write instructions to make sure a client_secrets.json is in the scoop install dir, it would be enough.
We can even give a warning the app will not work without it.
I just prefer not needing to update it manually

You can read more about shortcuts here: https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests
I've updated my manifest to create & persist the client secrets, the config file and the Resources folder, could you try it out? (I don't have an API key or a YT channel I can test with)
It installs with the caveat that you have to use either the Start Menu shortcut or run it directly from the installation folder. Let's see if the maintainers are okay with that.

The Start Menu shortcut is good option

@tech189 You can do the same thing with the bin variable like I did with the crunchyroll-go manifest I made....
"bin": [
    "crunchy-v2.1.0_windows.exe",
    [
        "crunchy-v2.1.0_windows.exe",
        "crunchy"
    ],
    [
        "crunchy-v2.1.0_windows.exe",
        "crunchyroll-go"
    ]
]

Similarly you could use
"bin": [
    "YTSpammerPurge.exe",
    [
        "YTSpammerPurge.exe",
        "ytpurge"
    ],
    [
        "YTSpammerPurge.exe",
        "ytsp"
    ]
]

Like the contributing article  clarifies , the bin variable helps with command line applications, allowing you to easily execute them from any directory withing the terminal. Where the shortcuts variable helps with GUI applications.

Initially, I thought that the program only accepts client_secrets.json in the folder the exe is located but on further investigation, it can also get the file from the directory the program is started in. However, I don't know and can't test if it is able to read its config file or save data in the correct place when run outside of its installation folder. So to be safe, I left it as a shortcut that always opens the program in the same place. If someone with a YT channel could test the program that would be amazing!


KSTREAM-1647: Fix KafkaMusicExampleTest

Fix race condition by waiting for expected output in stores

@confluentinc/streams It's unclear to me, why this test started to fail now. Must be some change in AK trunk but not sure which one it could be. Anyway, the previous wait conditions was incorrect anyway. I am just wondering why it did pass before (would expect that it should have hit the race before, too).

Updated this. Will merge after Jenkins passed.


getWavesEffectElement throws error with any svg left/right click - Need to do null checking

Since you wire up a click event in the body
document.body.addEventListener('mousedown', showEffect, false);
you need to add some additional null checks to the getWavesEffectElement function.  Otherwise using libraries like google charts will cause errors to be thrown because you all use the same css class names and they have structured their elements different than you structured yours.
Please see comments below to see where null checks need to be added
 getWavesEffectElement(e) {
        if (TouchHandler.allowEvent(e) === false) {
            return null;
        }

        var element = null;
        var target = e.target || e.srcElement;

//added target
        while (target && target.parentElement !== null) {
//added target.className
            if (target.className && !(target instanceof SVGElement) && target.className.indexOf('waves-effect') !== -1) {
                element = target;
                break;
            }
//added target.classList
          else if (target.classList && target.classList.contains('waves-effect')) {
                element = target;
                break;
            }
            target = target.parentElement;
        }

        return element;
    }

+1

I think this issue is caused by the SVGElement.parentElement value is undefined in IE,
so if you click on a svg element, it will pass through the while condition checking and pass undefined
to target variable.
I managed to write a work around code that worked for me. hope this may help.
if(isIeBrowser()){
if(window.SVGElement && window.SVGElement.prototype ){
if (window.SVGElement.prototype.parentElement === undefined) {
window.SVGElement.prototype.parentElement = null;
}
}
}

+1

This problem is nearly 2 years old and looks like it has an easy fix. Is there anything I can do to help it land in a release? Perhaps the slow-down is because it is an upstream bug?

Here is the code that stops throwing that error for me. Granted it may disable waves effects on SVG but that doesn't matter to me.

@jacobq Not sure if we have any clean fix yet. Does this disable the effect on the material icons?
If we have a good and tested fiy and you want to contribute then you can create a PR with the needed changes.

Does this disable the effect on the material icons?

Not sure why anyone would want to do this but the waves effect still works after my above fix. Tested it simply with this:
<i class="large material-icons waves-effect">insert_chart</i>
I don't fully understand how the material icons work but I don't see how they would play a part in it. I don't see any SVG reference in the DOM when they are loaded.

@shanehoban sorry, I meant the svg version of the Material icons. You can download single svg icons from https://material.io/icons/ and insert the svg markup instead of the text used by the font.
Can you please test if the method still works on svg images or if the change completely disables it on svg elements?
A codepen could be also useful.

Granted it may disable waves effects on SVG but that doesn't matter to me.

Does or doesn't it disable it the effect?

Oh I see, well I guess the fix I'm using would disable the waves-effect on them. It will disable waves-effect on any SVG for that matter via && !(target instanceof SVGElement)

Oh I see, well I guess the fix I'm using would disable the waves-effect on them. It will disable waves-effect on any SVG for that matter via && !(target instanceof SVGElement)

Hm, that is not really an option.

I'll do some testing & experimenting tomorrow then comment here, but I think the problem that I have is actually resolved by the newer version of the upstream package already so Materialize would just need to bundle the newer version.

It was fixed in https://github.com/fians/Waves/commit/19f4b31a55ea845ba7055ee149671c3bbfe86ed0 https://github.com/fians/Waves/issues/145

I think we should diff our waves.js 0.6.4 file against the original one, rebase it, apply the newest release of it, test it and release it with the next Materialize version.

@DanielRuf I tried just copying and pasting latest waves code into the materialize code (https://github.com/jacobq/materialize/tree/update-waves) but that seemed to break functionality (guessing either the API changed or the waves code in materialize is modified (hope not; that sounds like a maintenance headache)), so instead I changed one line to circumvent the problem I'm having.
See https://github.com/jacobq/materialize/tree/svg-click-fix-hack

@jacobq Is this another issue? I thought it is about the svg element code.

@DanielRuf Well, my problem matches the description of this issue exactly. When one clicks on the chartist SVG element an error occurs on that line where I show the breakpoint & my modified code because the SVG element's className property is not guaranteed to be a string.

@jacobq and this is not (a better) fix? https://github.com/Dogfalo/materialize/issues/2005#issuecomment-310894652

@DanielRuf I don't think mine is better as it avoids all clicking on SVG elements.

@DanielRuf I don't think mine is better as it avoids all clicking on SVG elements.

So the version of @jacobq is better and still works? Unfortunately I do not have the time to test this. Could you tests if this would solve your issue and still work in other cases?

@DanielRuf the earlier code referenced does not resolve my problem because it still includes target.className.indexOf without first ensuring that target.className is a string (otherwise 'undefined is not a function' error can occur). Perhaps there are multiple problems here and the solutions are address different ones. For sake of clarity, here is a JSBin demonstrating my problem.

Fixed in 741d47a092ba4f09ce841c7fa98def1ce0dcfd2c

I support @shanehoban 's proposed fix, because I encouter the same problems as him and @DanielRuf.
This is NOT a IE11-specific problem and affects at least Chrome, too.
Applying the fix from 741d47a did not solve the problem, adding the toString() conversion does!.

@DetlefPeters Could you share a live example (e.g. jsbin / jsfiddle / codepen / etc.)? The latest materialize code (869f10bb00659cb2021440d48df2515220096c3f) seems to have resolved the problem I saw: https://output.jsbin.com/nivapom

In that jsbin of yours, I found the entire else if() block deleted from getWavesEffectElement. That is an approach I haven't found in the discussion here, but it does solve my problem, too, since the erratic statement was in the deleted else if condition.
Can you already tell me when a fixed version will be available via bower?

@DetlefPeters We don't give ETAs.

@DetlefPeters if you're referring to the else if that was in here then that was part of the 741d47... fix mentioned above. Perhaps you mistakenly pulled the old dist files instead of rebuilding with grunt release?

@tomscholz, @jacobq  My company only uses bower install for 3rd party libraries, so it looks as if we have to wait for the next release.

@DetlefPeters that sounds like it'll work. Alternatively, you can create a fork, generate the dist files, and install that via bower using URL instead of package name, e.g. bower install https://github.com/org/repo.git#master. P.S. although it's a separate discussion, you may want to consider starting to migrate away from bower. See https://www.quora.com/Is-Bower-dying

I am getting the same error, but this time on another line.


adds a faster alternative of InvokeNamed

The default implementation of InvokeNamed is inefficient. This PR adds InvokeOptionalFast which is implemented in the same way as Invoke. It also supports partial named and ordered arguments invokation (null or empty strings indicate unnamed arguments) such as sum(a, na.rm=TRUE, b). Here's my benchmark result:
InvokeNamed * 10000 finished in 713 ms (result: 110.0)
InvokeNamedFast * 10000 finished in 121 ms (result: 110.0)

And the bechmark code (not included in PR):
    let runMeasure name invoker count =
        let a = engine.CreateNumericVector [| 1.0 .. 10.0 |] :> SymbolicExpression
        let b = engine.CreateNumericVector [| 1.0 .. 10.0 |] :> SymbolicExpression
        let rtrue = engine.Evaluate("TRUE")
        let args = [| null, a; "na.rm", rtrue; null, b |]
        let res: SymbolicExpression = invoker args // skip first run
        let sw = Stopwatch.StartNew()
        for i = 1 to count do
            invoker(args).Dispose()
        let res = res.AsNumeric().[0]
        printfn "%s * %d finished in %d ms (result: %.1f)" name count sw.ElapsedMilliseconds res
    let rsum = engine.Evaluate("sum").AsFunction()
    let count = 10000
    runMeasure "InvokeNamed" (fun a -> rsum.InvokeNamed a) count
    runMeasure "InvokeNamedFast" (fun a -> rsum.InvokeNamedFast a) count

I think it'd be better to replace InvokeNamed with InvokeNamedFast since they have the same functionality. The decision is up to you.

Is there a consequence to replacing InvokeNamed or is this just a better implementation due to a deeper understanding of the API?

This should be a better implementation to InvokeNamed. The only different behavior I can observe is InvokeNamed didn't handle null strings well (e.g. it can't pass the test added in PR).

My fault. SET_TAG is actually exported. I've modified the PR to call it instead. This makes the implmentation conforms to R API.

Neat. You've exposed me to an interesting set of API functions.
I can't see any reason not to replace the old version of the function, but @jmp75  is the decider on that.
I vote :ship:

Looks all fine; ran the unit tests on Debian and all looks good. Thank you for your contribution.

@jmp75 No discussion on replacing the existing function?


Corrected episode end description for mujoco/ant

Minor correction of episode end conditions for the ant environment as it is inconsistent with all the other mujoco environments

Thanks, but would you be able to make this PR on openai/gym in the docstring in envs/mujoco/ant-v4.py.
The documentation is auto-generated from that


Add start connect hub

Description:
i have added the name of the website i.e. Start Connect Hub in the navigation bar.
Issue No:
Required Fixes #325
Type of change

[X] Other (specify): enhancement
Screenshots / videos (if applicable)
Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.

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] 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.

Additional Comments:
kindly tell if any changes are required.

@Priyaaa1 i am not able to understand the issue in my PR why is it failing these checks can you please help me.

@bhavya-taneja there was some issue with the deployment of the website, maybe that's the reason.
Kindly resolve the conflicts.

@bhavya-taneja your changes increased the height of the navbar too much and the dark mode toggle is not there

@Priyaaa1 i have done the changes required can you please check.
And regarding the dark mode toggle button its there and working but i guess there is some issue in the original repository as the toggle button is not visible in the originally deployed website as well
original website

website after my changes

@bhavya-taneja there should be not any space between "Start" and "Connect", it's "StartConnect Hub". And kindly decrease it's font size. The alignment is not looking proper.

@Priyaaa1 done a few changes..... kindly check it.


Update HGNC linkouts

See also #60 ; HGNC linkout on WikiPathways website, and PathVisio don't work...

[ ]  WikiPathways WP4868

Result:

[ ] PathVisio (WP4868):

Result:

URI should be (for HGNC Accession Number): https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/HGNC:13890 .
For HGNC symbol, URIs on identifiers.org don't function anymore...
@egonw


Add fhdb filter query

For backward compatibility, the filter params need to adhere to the $fh.db query params.

LGTM


FR (?): Set cell padding

Is there any way (or if not, would it be feasible to implement such a thing?) to set a cell's top/bottom/lef/right padding in millimeters like can be done from within Excel or Calc (right mouse button on cell(s) > "Format cell" > "Borders" > "Padding")? For example worksheet.get_padding(side = nil) and worksheet.change_padding(row, col, side = nil), where a side of nil would mean "all sides at once")...

When I right-click on a cell, I can do  Format Cells > Border, but there's no "padding" option on that dialog. So I'm not sure what this request is about.

Interesting, That picture came from LibreOffice Calc. I didn't think that it would have any features that Microsoft Excel doesn't have. But doing what you asked and then saving as .xlsx, closing, and opening the document again causes the padding to be lost. Setting the padding, daving as .ods, closing, and opening the document again causes it to be retained. The I have my answer. Thank you, Wesha!

It feels like cell padding is not supported in the SpreadsheetML specification, so it cannot be supported by rubyXL. If I'm wrong, feel free to correct me.

I agree.


Any plans on retrieving only the authCode, as it's best practice?

Hey, great job on this package. I was wondering if there's currently any way of retrieving only the authorization code? As per the documentation the authorization code should be sent to the server, and privately exchanged to a token using the client secret. I think an extra flag would be just enough, something like shouldGetAccessToken that would default to true, for backwards compatibility.

@iuliuvisovan thanks
It's a good idea. Feel free to create a PR with this small adjustment.
But does it not every time the case, I mean token it will be store somewhere... I really don't yet think about it...

Hey, thanks
I was saying it should default to true so it keeps the current behaviour. I was thinking something like:
static defaultProps = {
    onError: logError,
    permissions: ['r_basicprofile', 'r_emailaddress'],
    linkText: 'Login with LinkedIn',
    animationType: 'fade',
    containerStyle: StyleSheet.create({}),
    wrapperStyle: StyleSheet.create({}),
    closeStyle: StyleSheet.create({}),
    shouldGetAccessToken: true //this flag
  }

...
const { code, state } = getCodeAndStateFromUrl(url)
    //This flag can be manually set to false by the user, in which case only return code
    //and leave it to the user to obtain the token
    if (!shouldGetAccessToken)
      onSuccess(code);
    else {
      //current default behaviour
      if (state !== authState) {
        onError({
          type: 'state_not_match',
          message: `state is not the same ${state}`,
        })
      } else {
        const token: LinkedInToken | {} = await getAccessToken(code)
        onSuccess(token);
      }
    }

@iuliuvisovan is this working for you? @xcarpentier implemented your idea, however when my server asks for the access token (using the auth code obtained in redirect_url) LinkedIn returns 400.


Fix mobile backend to frontend communication

The main fix is to make MobileIpc.sendToFrontend not be async so that if an error happens it does not crash the whole app. This required RpcMarshaling.serialize to also not be async.

@swbsi FYI


fixes combine image cache

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve