Cant even get it started!

Hi,
I am hoping this project succeeds as I really would like a node.js version of audio to work :)
However, I can't even get the sample code you provide to work or be interpreted.
System I'm using is Windows 10 (I'm guessing this may be an issue as it is with most other players for node.
I've installed Node v v8.9.4
I've installed electron 1.8.2
i've installed you node-mp3-player
added: I've also installed the dependencies I've noted as well, JSONStream, electron-spawn, uuid
Now I'm not too sure about electron and there isn't any particular direction on your page, but I required it anyway?
I pasted in your sample code into a test.js file and using vs code debug ran it.  (also tried using node test.js)
get following error
Debugging with inspector protocol because Node.js v8.9.4 was detected.
node --inspect-brk=44492 test.js
Debugger listening on ws://<IP_ADDRESS>:44492/5e059de3-ce31-4512-86ad-0aca6b82cd47
Debugger attached.
c:\GMMusicServer\test.js:8
})();
^
TypeError: createAudio(...)(...) is not a function
at Object. (c:\GMMusicServer\test.js:8:3)
at Module._compile (module.js:640:14)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
Waiting for the debugger to disconnect...
TypeError: createAudio(...)(...) is not a function
at Object. (c:\GMMusicServer\test.js:8:3)
at Module._compile (module.js:640:14)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
Okay, first I didn't realise you didn't need semi colons anymore :)
This code looks like an immediately invoked function expression so I can't see why there is an issue here.
I haven't come across async and await before - doing some research now.
I'm suspecting it's because i am  on windows or because you are expecting me to run this with electron?? If so how?
Thanks for any pointers you can provide :)
Here's hoping.
regards
Gordon Moore (no not that one...)

Hey Gordon!
Indeed I did not get a chance to test this on windows, but I'm hoping we can get it to work anyway.
Just to remove some elements from the equation, could you run it outside vscode? Just by pasting the example code as is in your test.js file and running 'node test.js'? Do you get the same error?

Heyup
Yes I got the same error running node test.js
I've tried the following code (adding in the semi-colons and a try catch block
const electron = require('electron');
const { createAudio } = require('node-mp3-player');
const Audio = createAudio();
(async () => {
try {
const myFile = await Audio(${__dirname}/test1.mp3);
await myfile.play();
}
catch (e) {
console.log('error ' + e.toString());
}
})();
I am now getting an error
error ReferenceError: myfile is not defined
seems like it's not finding my mp3 file?? It's in the same folder as test.js
I am very happy to help here, but I am a little newbi ish on some points lol

Okay @gfmoore - I think I found the issue. It was actually my mistake in the example code. One of the only places in which you DO need a semicolon is before an iife. :)
I updated the README - want so see if this works out for you?
And btw - you don't need to install electron or any such thing. This library creates its instance on its own behind the scenes using electron-spawn.
P.S.
In your pasted example the issue is that in the await myfile.play(); it should by myFile
Also - very glad for your help! Thank you for it.

Just for completeness - your code exactly
λ node test1
C:\GMMusicServer\test1.js:10
})()
^
TypeError: createAudio(...)(...) is not a function
at Object. (C:\GMMusicServer\test1.js:10:3)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3

Oh and I'm putting in a try catch block because of the error:
(node:16748) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: timed out waiting for electron process
warning.js:18
(node:16748) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
I'm sure there's a better pattern than this, but I've just started to read up on it.

Hey no worries - as long as you can see the error.
Okay, this might be a platform issue or a bug. Could you try to kill any process called electron on the computer? Maybe there are some leftovers from before.

(and just to be sure - could you give the Audio constructor an absolute path? This shouldn't be needed, but it will be easier to rule it out... like: C:\path\to\my\mp3\file.mp3 - just as a normally quoted string)

Can't see any process linked to electron - though being windows that doesn't mean anything...(you can't even search for it afaik)
I've tried quite a few node packages for this and they all seem to have the same problem - no output. I'm sure it's linked to not finding a device to send the info to. Unfortunately none of them seem to allow you to declare a device.
Will try the absolute path.

sorry no joy, no matter what combo of forward or backward slashes or double back slashes!
Still get same message.

This library creates an electron child process and communicates with it in order to use the DOM Audio API it provides. This error means there is a problem reaching that child process. This might indeed be a platform issue (as you say, this was historically a thing, I'm not sure what's going on with it now: https://github.com/electron/electron/issues/964), but it might just mean the timeout needs adjustment.
So if you'll bare with me for one more try, could you edit node_modules/node-mp3-player/index.js and in line 31 change 500 to 5000? This will increase the timeout to 5 seconds which should be more than enough. I apologize that there is no way to configure this properly yet. If we find that this is the issue, I'll patch it up.

mate, there is no problem with me trying as much as you need. If I can help get it working then my gain.
on it.

No joy I'm afraid.
It waited the 5 seconds and same error.
I've tried inspecting the myFile object (with a breakpoint) but can't see anything untoward, but certainly there is no evidence of the test1.mp3 filename either? Should there be?

I have just tested the test1.mp3 - it's only a few seconds of Free - I'm alright now ( :) )  and that works fine.

Sorry, could you please explain your last? I didn't understand.

Sorry, I was saying that I manually tested the test1.mp3 file (from the command line) to ensure that it wasn't corrupted. It plays fine using vlc.
The title of the song is Free - I'm alright now  - just being a bit sardonic (English humour)

No worries. :)
So is probably some issue electron has with your sound card. Which makes sense considering you said other libraries had the same issue as well. Could be an edge case (more than one sound card in windows) that commonly gets ignored.
I don't know a lot about windows - my apologies for not being able to offer much helpful advice.

Hi thanks for all your efforts
FYI: I have managed to get node-mpg123-util to output some sound - hurrah, so it is possible.
https://www.npmjs.com/package/node-mpg123-util
Hope you don't mind me referencing an alternative for windows users, but if anyone else comes here at least there is hope :)
(They may? need to install speaker, which needs python installing:
npm --add-python-to-path='true' --debug install --global windows-build-tools (from an elevated powershell prompt)
then npm install speaker.
Hopefully one day you or someone might find the solution as what you are doing looks good.
Gordon

Thanks guys for this analysis of the problem. If you had not done this, I would have roamed the Internet for a long time.


Feature Request: Migrate to storing Date objects

MongoDB now supports storing dates. I'd love to still use Moments in code, but it would be nice to migrate all the stored values to Date objects for more readability when using the Mongo console.

This seems like a reasonable option. I'm not really working on this project myself right now but I wouldn't turn away pull requests.


ldk.Mnemonic function is not defined. Did you break anything recently? Or am I missing something?

Hi @hamidabdulmalik
Can you try:
import 'package:ldk_node/ldk_node.dart' as ldk;

final mnemonic = await ldk.generateEntropyMnemonic();
print(mnemonic.internal);

Now you can also use mnemonic.toString()


Hot reload

Describe the solution you'd like

Ability to hot reload code changes. Is it possible at all using v's native hot reloading or otherwise?
Reasons why this should be a part of the core library

It would speed up development significantly, making this lib more attractive as a replacement for native c.

Are there any other C bindings that work with hot reloading? Otherwise, I'm not sure how I could approach this.

It is a V feature, available when compiling a program with v -live run program.v.
It relies on tagging specific functions with @[live], then when you change them, the updates will be detected by the running program, it will recompile a shared library with the changed source, and reload it, effectively replacing the previous versions with the new ones, without losing state.
It is mainly useful for application code, where you want to tweak some algorithm, or some hardcoded values like coordinates or colors in those functions, similar to how you can tweak CSS live in a web browser inspector. It is not well suited for libraries like the raylib wrapper here.


update vendored files

Sync vendored libs. Not required, but keeps us up-to-date with prometheus changes for now.

Nice! Great to get some of the maintenance work fixed.
Reviewing is a bit hard, but I'll take AppVeyor's word for it being ok! :)


readme issues

I said it is "bash tools/scripts/download_annotations.sh cirr"  and "bash tools/scripts/download_annotations.sh fiq" that hve an additional 's' at the end of the word.

You're correct, I missed the 's' in fiq and cirr. Thank you for pointing that out! I've fixed the typo in the latest commit.


about insightface.pb？

When I run example.py,it occur。
tensorflow.python.framework.errors_impl.NotFoundError: NewRandomAccessFile failed to Create/Open: /pretrained/insightface.pb : ϵͳ\udcd5Ҳ\udcbb\udcb5\udcbdָ\udcb6\udca8\udcb5\udcc4·\udcbe\udcb6\udca1\udca3
; No such process

me too

Hello, I think it should be that the Google disk model provided by the original author was not downloaded. Can you download it? If you can download it, can you share it with me? my mail address is<EMAIL_ADDRESS> or  my QQ:<PHONE_NUMBER>, thanks.


versionを導入

Codecov Report

Merging #114 (91e6aee) into master (40375cb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #114   +/-   ##
=======================================
  Coverage   66.27%   66.27%
=======================================
  Files           5        5
  Lines         172      172
=======================================
  Hits          114      114
  Misses         44       44
  Partials       14       14

Flag
Coverage Δ

unittests
66.27% <ø> (ø)

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

Impacted Files
Coverage Δ

...admin/pkg/controller/rest/v1/article/controller.go
49.43% <ø> (ø)

...svc/admin/pkg/controller/rest/v1/article/router.go
0.00% <ø> (ø)

go/svc/article/src/v1/user/usecase.go
89.28% <ø> (ø)

Continue to review full report at Codecov.

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


[BUG] Command keeps timing out, while :timeout has no effect

Checklist before submitting an issue

[X] I have searched through the existing closed and open issues for eww and made sure this is not a duplicate
[X] I have specifically verified that this bug is not a common user error
[X] I am providing as much relevant information as I am able to in this bug report (Minimal config to reproduce the issue for example, if applicable)

Description of the bug
My command inside handlers like :on-hover times out very often, usually after not interacting with the element for a while. Most of my commands are just simple eww update var=value calls, so I'm not sure why it's timing out.
I've tried setting the :timeout to a high value like "5s", but it doesn't seem to have any effect. Looking at eww logs, I can see that commands often time out instantly as you click/hover over the element.
Reproducing the issue
Use a widget that has any kind of handlers and add a command to it.
Expected behaviour
:timeout should have some kind of effect
Additional context
I have a slow computer, so that might be one of the factors causing the timeout.

:timeout should really work in this context. Could you update to the latest master, and take a look at the logs with --debug enabled? They should mention that a command gets ran, and include the timeout in that log. If the timeout there isn't what you configured, there might be something wrong with the configuration...

Tested with the latest commit, and I can reproduce the issue there.
Here's a widget to reproduce the issue:
(eventbox
  :onhover "sleep 3 && notify-send success"
  :timeout "5s"
  (label :text "hello world"))

And here's the log:
 2023-03-27T23:52:23.126Z DEBUG eww::widgets            > Running command from widget [timeout: 200ms]: sleep 3 && notify-send success
 2023-03-27T23:52:23.326Z ERROR eww::widgets            > WARNING: command sleep 3 && notify-send success timed out

It seems that it's not registering the timeout I gave to it at all.

having a similar issue where I wait for confirmation before executing and if timeouts the first try but it works next time after failing once
widget:
(defwidget exitmenu []
    (box :orientation "v" :space-evenly "true"
        (box :orientation "v" :space-evenly "true" :class "container" :spacing "6"
            (eventbox       :class "lock"
                            :tooltip "Lock"
                            :cursor "pointer"
                            :timeout "5s"
                            :onclick "bash ~/.config/eww/scripts/exitmenu/eventLock.sh" "󰌾")

            (eventbox       :class "suspend"
                            :tooltip "Suspend"
                            :cursor "pointer"
                            :timeout "5s"
                            :onclick "bash ~/.config/eww/scripts/exitmenu/eventSuspend.sh" "󰤄")

            (eventbox       :class "logout"
                            :tooltip "Logout"
                            :cursor "pointer"
                            :timeout "5s"
                            :onclick "bash ~/.config/eww/scripts/exitmenu/eventLogout.sh" "󰗽")

            (eventbox       :class "reboot"
                            :tooltip "Reboot"
                            :cursor "pointer"
                            :timeout "5s"
                            :onclick "bash ~/.config/eww/scripts/exitmenu/eventReboot.sh" "󰜉")

            (eventbox       :class "shutdown"
                            :tooltip "Shutdown"
                            :cursor "pointer"
                            :timeout "5s"
                            :onclick "bash ~/.config/eww/scripts/exitmenu/eventShutdown.sh" "󰐥"))

))

log:
 2023-04-08T02:11:00.436Z DEBUG eww::widgets            > Running command from widget [timeout: 200ms]: bash ~/.config/eww/scripts/exitmenu/eventLogout.sh
 2023-04-08T02:11:00.636Z ERROR eww::widgets            > WARNING: command bash ~/.config/eww/scripts/exitmenu/eventLogout.sh timed out

I have a similar issue - I have a button with :onclick "xdg-open https://github.com/notifications", and it instantly logs the timeout error, even though the command will work like 90% of the time.

Not sure if related, but I have a :onhover event on a child widget, and a :onhoverlost on a parent widget. Sometimes when I mouse over the widgets very quickly, the :onhoverlost event is triggered before the :onhover event.
This causes state issues.

I am also getting this issue with an input with:
(input :timout "1000ms" :onaccapt "eww update ... ; sleep 0.5s ; eww close")


Query Ubuntu for current AMI

find AMIs using ubuntu_ami gem
fixes #196

Does this seem like a reasonable dependency to add? Any changes you'd like to see?

I like it!  I have one question, but otherwise I'm :+1:

Updated default_ami_release and default_ami_virtualization_type

@whiteley have you ever ran the integration tests?  If not, will you run them locally with something like AWS_TEST_DRIVER=aws::eu-west-1 rspec spec/integration/aws_machine_spec.rb -t super_slow?  This will use your local ~/.aws/credentials or environment variables to auth with AWS.
We need to get these integration tests running via Travis, we just haven't yet.

Looks like I only ran the unit tests before, I just ran them and I fixed one issue. I'm getting Chef::Exceptions::PrivateKeyMissing, do I need to provide a client_key someplace? I think the other failures I'm seeing are because the account I'm on is an old one without VPC by default but I'm not sure.

@whiteley Hmm, no you shouldn't...  It should create a key by default in ~/.chef/keys/chef_default.  Would you mind filing a new issue showing the fill stacktrace you get when you try to run the tests?
I'm going to go ahead and merge this because I don't want our broken tests to stop your PR.  Thanks again for this work!


Upload functionality is working :) Added city, state, address, age, s…

…chool, message inputs. Added order by school, city, state buttons to order the list.  Changed the list view to show uploads. if admin is logged in, they see more information about a post such as address, city, state, school, and zipcode.  Admin can delete or update any post.  owner of a post can edit or delete only his/her post. other users can only see postes with name, age and upload but they can't see view page.  logged in user and admin can see view page with bigger sized image.
Commit Message Guidelines
Header
Blank Line
Body
Blank Line
Footer

The header should look like:
<type>(<scope>): <subject>

The body should have any necessary detailed info about the commit:
An example, references as to where this idea came from, etc.

The footer should have all the issues tagged:
Fixes #123, Fixes #456

So a commit should look like:
feat(users): Add new Yahoo authentication

Yahoo authentication idea proposed by @codydaig
Example implementation in file.js

Fixes #82

Types:

feat - Features, Enhancements, and overall Improvements
fix - Fixes, Bugs, HotFixs, etc...
doc - Changes to the Documentation and doesn't actually touch any code.

Scope:

The scope should be where the change took place.
Examples: users, core, config, articles

Subject:

The subject line should be clear and concise as to what is being accomplished in the commit.

General Rules:

No Line in the Commit message can be longer than 80 characters.

Reference: Angular Conventions

👍


Error adding flows  e.z.replace is not a function

I have added https://github.com/ben423423n32j14e/zigbee2mqttadminpanel nodes to my node and after that I get the "Error adding flows  e.z.replace is not a function" message on screen.

In javascript console the following message appears:
Uncaught TypeError: e.z.replace is not a function
    at red.min.js:16
    at Object.eachConfig (red.min.js:16)
    at Object.t [as refresh] (red.min.js:16)
    at Object.onchange (red.min.js:16)
    at R (red.min.js:16)
    at HTMLAnchorElement.D (red.min.js:16)
    at HTMLAnchorElement.dispatch (vendor.js:2)
    at HTMLAnchorElement.v.handle (vendor.js:2)

npm  version: 6.14.8
node version: v14.15.1
node-red version: 1.2.4
node-red-contrib-influxdb version: 0.5.0
node-red-dashboard version 2.24.1-beta
npm version: 6.14.8

I believe this was fixed in 1.2.5.

Closing as I believe this was fixed in a later release from the one it was reported against, and there has been no follow up to say otherwise.


Is streaming transformation object reusable?

Hi,
I have a service that returns json that contains an array of base64 encoded images. The images are transformed using sharp. Conversion happens like this:
const imageTransform = sharp()
  .resize(1080, 1920)
  .max()
  .jpeg( { progressive: false, quality: 100 } )

for (const readStream of streamsFromDisk) {
  const base64Encoder = new b64.Encoder()
  readStream.pipe(imageTransform).pipe(base64Encoder)
  // Pipe to response using streamstream https://www.npmjs.com/package/stream-stream or similar
}

Is it advisable to reuse the imageTransform like that, or should I construct new instance for each stream? Example of this here:
for (const readStream of streamsFromDisk) {
  const imageTransform = sharp()
    .resize(1080, 1920)
    .max()
    .jpeg( { progressive: false, quality: 100 } )
  const base64Encoder = new b64.Encoder()
  readStream.pipe(imageTransform).pipe(base64Encoder)
  // Pipe to response using streamstream https://www.npmjs.com/package/stream-stream or similar
}

Which approach is correct?
And thank you for this awesome library!

Hello, Streams are async so you have to use the second approach otherwise bad things will happen e.g. randomly-ordered chunks of data from various streamsFromDisk piped into a single sharp instance.
This is more a Node Streams thing than a sharp thing. It's the same reason you're creating a new instance of base64Encoder inside the for-loop.

Hi!
Thanks for the explanation! I have a Java background, and there stream handlers can be shared as long as those are stateless ( and therefore thread safe ), hence the question. I'll make sure to always use new instances.

I work with Java occasionally and think of its stateless "stream" handlers like map/filter/reduce/sum as pure functions. Perhaps treat Node Streams more like Unix pipes, where a number of stateful processes are combined in an ordered list.

How can I reuse a sharp object (transformation stream object) that I receive as an input parameter?


Generate stomp/sockjs typescript client

I would like to provide generator for stomp over sockjs AsyncAPI.
It would be useful for consuming Spring Stomp over SockJS APIs in node/browser env - especially in companion with swagger-generated typescript-fetch client.
Is there something I should be aware of before starting my work on it?

@mpodlodowski Hey man, where are we standing with this one? I'm cleaning up old issues to see what we have and close the ones that are not relevant anymore or dropped.
Should we keep this one open?

Hey. No time to work on this ATM. Please close this one. In case I'll have
some time to work on it we can always reopen.
sob., 15 lut 2020, 17:25 użytkownik Lukasz Gornicki <
<EMAIL_ADDRESS>napisał:

@mpodlodowski https://github.com/mpodlodowski Hey man, where are we
standing with this one? I'm cleaning up old issues to see what we have and
close the ones that are not relevant anymore or dropped.
Should we keep this one open?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/asyncapi/generator/issues/28?email_source=notifications&email_token=ABMKBBMVM7OTOERZTCRVZRTRDAJQ3A5CNFSM4GTCG3H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL3QWAI#issuecomment-586615553,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMKBBMZZEHYYLMZJ3H3KM3RDAJQ3ANCNFSM4GTCG3HQ
.

Thanks a lot for fast response!


Is there a way to have dark mode on by default?

As the title says.
Thanks!

You can add  darkMode: true to theme.config.js

Both Nextra themes are using https://github.com/pacocoursey/next-themes under the hood, so we can add a defaultTheme option and pass it to next-themes 👍

Any news?

@Gimmeaphatbeat docs has nextThemes.defaultTheme
are you looking for this option for blog theme?
https://github.com/shuding/nextra/blob/708d95d91d01e90cb6e1f0dafb58157199e8e6fd/packages/nextra-theme-docs/src/types.ts#L26

As @B2o5T mentioned:
Set
export default {
  nextThemes: {
    defaultTheme: 'dark'
  },

in your theme.config tsx / jsx.

copy the following code in your theme.config.tsx/jsx
  nextThemes: {
    defaultTheme: 'dark'
  },


Editor plugin crashes on scene change

Godot version:
3.1 downloaded from steam
OS/device including version:
Manjaro Linux. GPU GTX 1050 with 418.43 driver
Issue description:
I've made an editor plugin that puts a button in CONTAINER_SPATIAL_EDITOR_MENU when loaded and also registered scene_changed signal so the button can be removed/added if a specific node is present in scene. When I switch back to the scene with such node, godot crashes. Also there's nothing wrong with the scene itself. It works perfectly but the EditorPlugin causes the crash.
Also I get these in terminal output:
ERROR: build: Condition ' O == __null ' is true. Continuing..:
   At: core/math/quick_hull.cpp:402.
ERROR: build: Condition ' !F ' is true. Continuing..:
   At: core/math/quick_hull.cpp:399.
ERROR: build: Condition ' !F ' is true. Continuing..:
   At: core/math/quick_hull.cpp:399.
ERROR: build: Condition ' O == __null ' is true. Continuing..:
   At: core/math/quick_hull.cpp:402.
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x37e00) [0x7ff0956a2e00] (??:0)
-- END OF BACKTRACE --

Minimal reproduction project:
My editor plugin code

I tested again with prints and got this output:
[1] /usr/lib/libc.so.6(+0x37e00) [0x7f2e126fce00] (??:0)
[2] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2140208] (??:?)
[3] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x21e63f1] (??:?)
[4] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x249a550] (??:?)
[5] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x8eeec4] (??:?)
[6] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xa49a48] (<artificial>:?)
[7] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x217466f] (??:?)
[8] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x21e4e02] (??:?)
[9] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x21e5e40] (??:?)
[10] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xfdd74b] (<artificial>:?)
[11] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xff5bbd] (<artificial>:?)
[12] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2174733] (??:?)
[13] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2512a7d] (??:?)
[14] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x21eed3f] (??:?)
[15] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x169af89] (??:?)
[16] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xaf1075] (??:?)
[17] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x7b28ed] (??:?)
[18] /usr/lib/libc.so.6(__libc_start_main+0xf3) [0x7f2e126e9223] (??:0)
[19] /mnt/data/LinuxSteamLibrary/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x7bfc4e] (??:?)

Also the code crashes here

I stripped down most of the code and made a reproduction project:
Plugin Crash.zip
Switch between the "spatial" and "node2d" scenes and the crash will happen. It appears that after the button is freed, the btn variable dosn't become null, making the script try to free it again.
The crash log above checks out.

Manually setting btn to null when freeing it fixes the issue. I'm not sure if or how we can fix this really. We'd have to keep something valid at the old pointer address so we can tell whether or not the object in question was deleted, and if it was throw some kind of error or warning. Maybe by setting the pointer value to a static 'this is a freed object' pointer?
Maybe we could do something like this in debug mode, but it seems hard to do as it'll be impossible to know when we can really free the thing.
@reduz thoughts?

Regarding the quick_hull messages, there's an issue about those here, https://github.com/godotengine/godot/issues/15010, but they seem unrelated to the crash.

Is there any way to manually get Control nodes added to CONTAINER_SPATIAL_EDITOR_MENU?
I'm also having the same issue on macOSX, for me it doesn't crash the engine but whenever a reload the plug-in, it adds a new instance button to the menu until it gets unclickable.
`var mainView : Control
func _init(): mainView = mainViewScene.instance()
func _enter_tree():
add_control_to_container(CONTAINER_SPATIAL_EDITOR_MENU, mainView)`
func _exit_tree():     if mainView:          remove_control_from_container(CONTAINER_SPATIAL_EDITOR_MENU, mainView)         mainView.queue_free()         mainView.free()         mainView = null

In the original plugin, btn must be set to null after being freed, because this may be the intent behind this check:
func remove_button():
	if btn == null:
		return

Because in Godot 3 accessing a freed object crashes... except in debugged games. Getting an error would be the expected behavior IMO, it would be nice if it did not crash.
@vini-guerrero in your case you are facing this issue #5969, each time you modify/reload a tool script in the editor, anything it created cannot be freed because references to objects are lost.

No longer crashes in 3.5 beta.


[WIP] Implement hit detection for WebGL Mapbox Vector Tiles

This PR implements hit detection in the MVT WebGL renderer.
This is achieved by using the same technique has for the vector layer renderer, with some additionnal bits to handle the tiles.
This is an early PR (WIP) to share the current state of the work.
For testing, use http://localhost:8080/webgl-vector-tiles.html
This test has been modified to display the selected feature with a different styling, in a separate layer.
To investigate / fix:

[ ] points does not seem to work;
[ ] white countries polygons does not match anything (maybe OK: do the actually exist as features?);
[ ] why only initial zoom level works?
[ ] figure out the issue with Feature/RenderFeature type mismatch in TileGeometry.js;
[ ] update the test to account for the additionnal low-level calls due to hit detection;

Hit detection framebuffer looks correct, whatever the zoom level:

* [ ]  white countries polygons does not match anything (maybe OK: do the actually exist as features?);

In these tiles the countries are not polygons; the water bodies are.


Uncaught (in promise) ReferenceError: require is not defined

After generating a model on https://teachablemachine.withgoogle.com/train/audio, I receive the following error when trying to run it.
Uncaught (in promise) ReferenceError: require is not defined
    at speech-commands.min.js:17
    at speech-commands.min.js:17
    at Object.next (speech-commands.min.js:17)
    at speech-commands.min.js:17
    at new Promise (<anonymous>)
    at i (speech-commands.min.js:17)
    at speech-commands.min.js:17
    at e.<anonymous> (speech-commands.min.js:17)
    at speech-commands.min.js:17
    at Object.next (speech-commands.min.js:17)

Any idea?

Hi @Technerder would you mind posting your full code snippet or a link to jsfiddle / codepen so we can help debug?


[SDK] Avoid 'from X import *' in python integration tests

We need to make sure integration tests with shadown.dcos_1_10 are not totally skipped...

test_secrets tests are run in 1.10

Actually, I'm going through cleaning up tests right now anyways. Thanks for identifying these ones. I'll switch it to the helper function.


Update chip.py

Description of Changes
Added option to change the color of the chip's text
Example
        MDChip:
            label: 'test'
            text_color: 1, 0, 0, 1
            icon: ''
            color: 1, 0, 0, .4

Screenshots

@BananaMasterz I can not accept it. There are errors in your fixes!
Wrong
color: root.text_color
Right
color: root.text_color if root.text_color else (root.theme_cls.text_color)


Add AntennaRangePatches

Mod wants to install and run AutoPruner or RemoteTech breaks, so added as a conflict.
Closes https://github.com/KSP-CKAN/NetKAN/pull/2427

I understand about AutoPruner
so, if you don't mind, a few questions:

How would you suggest I distribute the RT patch without the conflict?  Would some very explicit instructions be good enough, specifically stating that the patch won't work without running the AutoPruner?
Is it possible to detect that Autopruner is already installed by the user, and then to install the RT patch into the AutoPruner directory?
Since CKAN is written in C#, is it possible to write a mod for CKAN (call it CKANpruner) which will do what AutoPruner does?  And if so, how could that be used in a Netkan file (ie:  if CKANpruner is available, then run a specific PRNL file)?
I might be interested in rewriting AutoPruner in C# for CKANpruner.  Any pointers?

Thanks

If RT's licensing permits, I would include it in my mod with the parts pre-cut that need to be removed then submit it to CKAN with a conflict with RT. If licensing doesn't permit that, then I wouldn't list with CKAN (I wouldn't want my mod listed if it wasn't feature-complete).

AutoPruner doesn't have a set install location and further having it installed isn't enough as the user needs to actually run AutoPruner to have it take effect.

 That role should fall to mods themselves (ex. MM). That's just my opinion though.

I know only the basics of the basics of C#, I'm not a coder so I'll let others chime in on this point.

The utility of CKAN is that it automates everything. If a mod requires something that isn't or shouldn't be automated then it's just not a candidate for CKAN.

I went through the outstanding PRs last night, and there were a few mods that just aren't candidates for CKAN like https://github.com/KSP-CKAN/NetKAN/pull/2413 and https://github.com/KSP-CKAN/NetKAN/pull/2459. Not every mod is compatible with CKAN.

I'll review the RT license, thank you

@linuxgurugamer Poke

I'm in the process of contacting the RT authors and getting permission to redistribute the models.  In the meantime, i'll update this to make RT a conflict, and once I get all the permissions, I'll update the mod with the parts.

This PR already has an RT conflict.

Oh.
yuck.  I've removed the autopruner and the rt recommends
JBB
On 10/27/2015 8:35 AM, Matthew wrote:

This PR already has an RT conflict.
—
Reply to this email directly or view it on GitHub
https://github.com/KSP-CKAN/NetKAN/pull/2460#issuecomment-151477866.

I've removed the autopruner and the rt recommends

I think you're in the wrong PR. This PR never had autopruner, nor did it have an RT recommends.

I'm merging this now so that @linuxgurugamer stops making more and more PRs that replicate this exact metadata.

Ok.
Thank you
I hadn't gotten a response from a question, and it seemed to have
dropped into a black hole.
Didn't mean to make trouble.
JBB
On 10/28/15 9:44 AM, Matthew wrote:

I'm merging this now so that @linuxgurugamer
https://github.com/linuxgurugamer stops making more and more PRs
that replicate this exact metadata.
—
Reply to this email directly or view it on GitHub
https://github.com/KSP-CKAN/NetKAN/pull/2460#issuecomment-151848519.


What about using an Azure VPN Gateway?

When connecting to an on-premise SQL server using Azure Data Factory in a managed virtual network, why is it necessary to set up the private link service, an Azure Load Balancer, and NAT VMs (backend servers) as the diagram depicts in this article? If we are using an Azure VPN Gateway, can we simply connect from Azure Data Factory's private endpoint to the on-premise SQL server's private IP address using an Azure Integration Runtime?

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

ID: 0ad13676-0e4b-6e1d-bd9c-e7b6e6698da9
Version Independent ID: 37f5f9b3-c78e-78ff-7d94-ea70c2958ed7
Content: Access on-premises SQL Server from Data Factory Managed VNet using Private Endpoint - Azure Data Factory
Content Source: articles/data-factory/tutorial-managed-virtual-network-on-premise-sql-server.md
Service: data-factory
Sub-service: tutorials
GitHub Login: @lrtoyou1223
Microsoft Alias: lle

@jwashbur
Thanks for your feedback! We will investigate and update as appropriate.

Hello @jwashbur
When connecting to an on-premises SQL Server using Azure Data Factory in a managed virtual network, it is necessary to set up the Private Link Service, an Azure Load Balancer, and NAT VMs as backend servers because the on-premises SQL Server is located behind a firewall or in a private network. The Private Link Service and Azure Load Balancer are used to securely access the on-premises SQL Server from the managed virtual network. The NAT VMs are used to translate the private IP addresses of the on-premises SQL Server to public IP addresses that can be accessed from the managed virtual network.
If you are using an Azure VPN Gateway, you can connect from Azure Data Factory's private endpoint to the on-premises SQL Server's private IP address using an Azure Integration Runtime without setting up the Private Link Service, Azure Load Balancer, and NAT VMs. However, you will need to ensure that the VPN Gateway is configured correctly to allow traffic to flow between the managed virtual network and the on-premises network. You will also need to ensure that the on-premises network is configured to allow traffic from the managed virtual network.

That makes sense. We are working with the 2nd scenario you mentioned. Thank
you! This is very helpful.
On Thu, Mar 7, 2024 at 11:50 PM Naveenommi-MSFT @.***>
wrote:

Hello @jwashbur https://github.com/jwashbur
When connecting to an on-premises SQL Server using Azure Data Factory in a
managed virtual network, it is necessary to set up the Private Link
Service, an Azure Load Balancer, and NAT VMs as backend servers because the
on-premises SQL Server is located behind a firewall or in a private
network. The Private Link Service and Azure Load Balancer are used to
securely access the on-premises SQL Server from the managed virtual
network. The NAT VMs are used to translate the private IP addresses of the
on-premises SQL Server to public IP addresses that can be accessed from the
managed virtual network.
If you are using an Azure VPN Gateway, you can connect from Azure Data
Factory's private endpoint to the on-premises SQL Server's private IP
address using an Azure Integration Runtime without setting up the Private
Link Service, Azure Load Balancer, and NAT VMs. However, you will need to
ensure that the VPN Gateway is configured correctly to allow traffic to
flow between the managed virtual network and the on-premises network. You
will also need to ensure that the on-premises network is configured to
allow traffic from the managed virtual network.
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/120471#issuecomment-1985078658,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHOK47P346RV6K6CFHXDILYXFGSPAVCNFSM6AAAAABEHPDV6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBVGA3TQNRVHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@jwashbur
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

@Naveenommi-MSFT - just found this as we're working on exactly this, and the same "Azure VPN Gateway" scenario. Feeling like missing something simple as an Azure VM connected to the VNet and hit the necessary ports on the SQL box, but the Azure Data Factory integration runtime isn't connecting. Is there a resource/doc with a bit more info on this setup we can look at?


[torchlib] Opportunistically implement prims ops

Opportunistically implement prims ops since I have seen prims::mul being used in a model. No tests (yet) as aten::mul and prims::mul have different signatures.

I think it's https://github.com/pytorch/pytorch/blob/40767e84685fe9bba7a93f9cda35125a9a059943/torch/onnx/_internal/fx/decomposition_table.py#L103C14-L103C25
Being removed away

I think it's<EMAIL_ADDRESS>Being removed away

I think that's fine. This just means we are getting more decomps for higher coverage. Thoughts?

It means we are allowing decomp_table to include unsupported ops -> prims ops.

The decomp analysis for mobilevit_s where we saw this op:
Decomposition comparison
Ops exist only in the ExportedProgram before decomposition: ['aten.adaptive_avg_pool2d.default', 'aten.conv2d.default', 'aten.dropout.default', 'aten.layer_norm.default', 'aten.linear.default', 'aten.scaled_dot_product_attention.default']
Ops exist only in the ExportedProgram after decomposition: ['aten._scaled_dot_product_efficient_attention.default', 'aten._softmax.default', 'aten._to_copy.default', 'aten.addmm.default', 'aten.bmm.default', 'aten.convolution.default', 'aten.expand.default', 'aten.mean.dim', 'aten.native_layer_norm.default', 'aten.t.default', 'prims.mul.default']

I haven't seen this before from the same ops. Maybe pytorch updated.

Hmm I recall in default, exported program doesn't want prims as well: https://github.com/pytorch/pytorch/blob/40767e84685fe9bba7a93f9cda35125a9a059943/torch/_decomp/init.py#L258

@titaiwangms In any case, having the implementation in torchlib doesn't hurt so I think we should merge this PR


PMP clarification

It seems to me the following questions are not adequately addressed in the specification.

Can a TOR entry use a preceding NAPOT/NA4 entry as its base address?

Interestingly, a NAPOT entry interpreted as a TOR falls inside the NAPOT block, and as as first match wins it doesn't actually matter whether the succeeding TOR entry uses as its start address the start of the NAPOT block, the end of the NAPOT bloc, or something in the middle.

what happens if a TOR entry specifies a lower address than the preceding TOR or NAPOT/NA4 entry?

Does this produce a null region?
If not then how do you specify default permissions (necessarily using later entries) with one or more "cut-outs" with different permissions?

does an A=00 OFF/Null region use the corresponding pmpaddr address to reset the bottom of range for a subsequent TOR entry, or is it ignored entirely? Does an A=00 entry in fact stop the scanning of PMP entries?

Yes.
Null region.
The corresponding pmpaddr still provides the base address for a subsequent TOR.

I claim all of these follow from a literal reading of the spec.

Thanks for your answer.
While I think the answers make sense and were what I was hoping, I for one couldn't see any way to prove them from the spec, and I could easily imagine some people building hardware making unfortunate incompatible assumptions.

follows from the fact that we don't say anything about it, i.e., it's not a special case.
follows from the fact that no y can satisfy the relation pmaddr_(i-1) <= y < pmaddr_i unless pmaddr_(i-1) < pmpaddr_i.
same as 1.

It's terse, but it's all there.  Some more non-normative text might be called for, but any ambiguity should be resolved by the formal model.

Partially in response to feedback from @allenjbaum, I've made some clarifications to this text.  They aren't normatively necessary, but they might reduce the probability that a reader gets the wrong impression by incorrectly attempting to read between the lines.  https://github.com/riscv/riscv-isa-manual/commit/e1b0e496380710d7705f82a21a497aeeeefd3a7b


Update library utilities

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Summary:
Type of change:
Please delete options that are not relevant.

[x] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

Summary by Sourcery
Update library utilities with new scripts for example file preparation and ESLint configuration, enhance existing build scripts for better modularity and readability, and improve CSS processing and utility functions.
New Features:

Introduce a new script prepExampleFiles.mjs to remove export statements from example files.
Add a new ESLint configuration file eslint.config.mjs with custom rules.

Enhancements:

Refactor generateDocs.mjs to improve readability and modularity by extracting functions and using path utilities.
Update postCss.mjs to process all CSS files in the directory instead of a single file.
Enhance auroLibraryUtils.mjs by simplifying the nameExtraction method and improving JSON parsing.
Improve pre-commit.mjs script formatting.
Add a template for static styles in staticStyles-template.js.

@sourcery-ai review

https://github.com/sourcery-ai review

@sourcery-ai review

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Copy-Item with "*" fails if no subdirectory is present

If i want to copy content from a directory without subdirectorys to a NEW folder the Documentations says unter Example 3:

If the Path includes *, all the directory's file contents, without the subdirectory trees, are copied to the new destination directory. For example:
Copy-Item -Path "C:\Logfiles*" -Destination "C:\Drawings\Logs" -Recurse

But this only works if under Path ("C:\Logfiles") are subdirectorys.
Steps to reproduce
C:\Logfiles exists and contains only files
C:\Drawings exists

Copy-Item -Path "C:\Logfiles\*" -Destination "C:\Drawings\Logs" -Recurse

Expected behavior
Directory "Logs" is created under "C:\Drawings" with all Files from "C:\Logfiles"

Actual behavior
Powershell copy one File from Path ("C:\Logfiles") to "C:\Drawings" and name it "Logs"
All other Files are ignored

If you create inside C:\logfiles a directory everything works as it should.
Environment data

Powershell 7.0.1

I agree that the behavior is counter-intuitive.
What happens is that if the -Destination argument is a path that doesn't yet exist, it is interpreted as a file, and it is the last of the input files that ends up in that file.
The workaround is to make sure that the target path exists as a directory  beforehand.
You can mitigate the problem somewhat if you append a \ or / to the -Destination path so as to signal that the target path is meant to be a directory, in which case you'll at least get an error if no such directory exists yet.
Although it would technically be a breaking change, it would make sense to default to assuming a container (directory) as the target path in case multiple paths / a wildcard-based path is specified as input, possibly complemented with a new switch such as -CreateOnDemand so as to create the container (directory) on demand.

Thanks for declaration.
But why does it work if Path has subdirectorys?
I don't think a new switch is necessary.
It is documented that a new folder is created if the destination is not available (Copy-Item Doc)
If Copy-Item -Path "C:\Logfiles*" -Destination "C:\Drawings\Logs" worked as expeced, it would match the current documentation.
Also you don`t need the flag "-Recurse" for "Copy all files to a new folder" as described in the note of example 3.
Should I make a new documentation issue for that or wait for further feedback here?

Also you don't need the flag "-Recurse" for "Copy all files to a new folder" as described in the note of example 3

Yes, please open a documentation issue for that.
The short of it is:

C:\Logfiles\* with -Recurse copies all files  and all subdirectories and their subtrees.

C:\Logfiles\* without -Recurse, copies all files and all subdirectories as empty directories.

If you want to copy files only, you need to use something like Get-ChildItem C:\Logfiles -File | Copy-Item ...

It is documented that a new folder is created if the destination is not available

This applies if the source path is a directory or at least has directories among the items that a wildcard expression resolves to.
For a single directory and file, respectively, it makes sense to create a directory / a file (after all Copy-Item file.txt file1.txt should not create a directory named file1.txt and copy file.txt into it).
The current behavior gets messy with multiple source paths, however:

All-files source paths make Copy-Item consider a non-existing destination a _ single file_.

This means that whatever file happens to be the last among the sources becomes the - only destination file.

All-directories source paths make Copy-Item consider a non-existing destination a _ single directory_.

The first directory among the source path is copied (without -Recurse, this means little more than creating the destination directory, without contents)
All subsequent directories cause errors(!) and their contents are ignored: Copy-Item: Container cannot be copied onto existing leaf item.

Mixed-type sources make Copy-Item also consider a non-existing both a _ single directory_.

This means that all files among the source are copied to the new destination directory, and, if -Recurse is specified,  the contents of the first among the source directories is copied; again, any subsequent directories cause an error.

I don't think a new switch is necessary.

The proposed -Create[DestinationAsContainer]OnDemand switch  (name negotiable - I'm struggling to come up with one that is both succinct and descriptive) wasn't meant to address the issues above: it was meant as a convenience switch that allows you to unequivocally specify that the destination path should be a directory, to be created on demand,  that the source items should be copied into. For instance, Copy-Item file.txt foo -CreateOnDemand would allow you to create directory foo on demand rather than creating a file named foo in the absence of a preexisting foo directory. The same would apply to Copy-Item somedir foo -Recurse -CreateContainerOnDemand, which would copy somedir as a whole into foo/ rather than copying its contents to a not-yet-existing foo directory.
What was meant to address the above issues was the following suggestion:

it would make sense to default to assuming a container (directory) as the target path in case multiple paths / a wildcard-based path is specified as input,

To flesh this out a bit:

If literally multiple -Path / -LiteralPath source paths are given, always assume that the destination is a directory.

If a single -Path argument is given, and that argument is a wildcard expression (e.g., *.txt) rather than a literal (e.g., file.txt), always assume that the destination is a directory.

Otherwise, as currently (single file or single directory), assume that the destination is a file or directory, respectively.

Given how the current behavior with multiple source items is both useless and obscure, it's hard to imagine that existing code relies on it, which would make this proposal an acceptable Bucket 3: Unlikely Grey Area change.


Flat shading on some objects that should have smooth shading

Describe the bug
For a little while now the shading on some, but not all objects has become flat (see screenshot). I believe it started at/a few days after this runelite GPU plugin update. This seems to mostly happen to trees, bushes and rocks, but may have happened to other objects as well. Some trees, such as evergreens, do not get this flat shading.
No changes were made to the plugin settings before this happened, though I did attempt to change the settings to fix it. This did not work, resetting the plugin settings similarly did not change this behavior.
To Reproduce
Steps to reproduce the behavior:

Simply having the plugin on causes this to occur
The plugin settings do not seem to affect this bug

Expected behavior
The affected objects should have smooth shading like in the top part of the included screenshot, rather than the ugly flat shading.
Screenshots
Top part of the screenshot shows the area west of Catherby bank with the normal GPU plugin, below that is the same area once 117HD is enabled. As you can see, the trees suddenly look way blockier due to the change in shading.

Environment:

OS: Windows 10
RuneLite version: 1.10.13
Launcher version: 2.6.8

Thanks for reporting this. Helps us track down an issue that seemed unrelated :slightly_smiling_face:

I actually noticed something new today that I caught on video, the shading seems to change when new areas are loaded in. I assume that means it's probably in some way related to the new extended map loading feature.
https://github.com/117HD/RLHD/assets/49898715/3793efef-8c78-42ab-b89b-e712d8167f97

I actually noticed something new today that I caught on video, the shading seems to change when new areas are loaded in. I assume that means it's probably in some way related to the new extended map loading feature.

Does it pop back in if you load the previous area? Or does it stay off all the time?

After doing some more experimentation (and using a plugin to show chunk borders) I have noticed the following:

The bug is not present when teleporting to an area
The bug can seemingly happen in any area of the game
Walking far enough that the game needs to load the next chunk causes the bug to appear
The bug seems to apply per game chunk, the 1st image below shows 2 chunks next to each other with one bugged.
Walking back the other way seems to fix the bug sometimes, but only in that chunk.
Sometimes when walking even further, so another load trigger is hit, the bugged trees in an area also get fixed.
Sometimes only specific object types get bugged within a chunk (like only oak trees for example, 2nd image shows this happening with some rocks).
Within a given chunk, when 1 object of a type is bugged, all other objects of that type will also be bugged. So never SOME oak trees in the chunk, it's all or nothing.
The bug is not specific to trees, but they are abuntant and easy to notice so they make for good testing. I have seen things like rocks, haystacks and bushes also display this bug.

This will be fixed internally in RuneLite for the next release. Thanks for the detailed bug report! I'll keep this open until the fix is out.


Refactoring the Tableau

previous file src/Tableau.js split into 9 files in the folder src/Tableau
previous file test/problems.json split into 25 files, one for each problem, in the folder test/problems
test/solver.problems.js modified to be able to go through the problems stored inside the folder test/problems

@JWally , we took the liberty to split the problems into several files.
This way it's easier to look at their definitions. Ideally, I want to keep adding problems as the solver evolves.
The Tableau.js file was also getting huge (and I was getting lost in it), it seemed a good idea to split it.


Firewall: Alias: Allow adding descriptions to every entry

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
When dealing with many entries in an alias, it is currently not possible to attach a description to each entry individually.
E. g., this can result in the following port list: 53,88,123,135,137,139,389,445,464,636,3268,3269,9389,49152:65535
It is extremely hard to know what each entry represents.
In pfSense, it is already possible.
Describe the solution you like
The same possibilities as pfSense gives: Add a description to each entry individually to know what each entry represents or the reason it was added.
Describe alternatives you considered
Creating a firewall rule for each port, just to add a description, is overkill imho.

you can try to combine port aliases imho  (create individual aliases for port(s) requiring description and create combined port(s) alias for the pf rule)

Wouldn't that end up in a complete mess in the Aliases section?
You have a hundred aliases just for one port, and then some lists combining them.

duplicate https://github.com/opnsense/core/issues/4190#issuecomment-653140801

You have a hundred aliases just for one port, and then some lists combining them.

only if you want to add description for every single port (including well-known)?

You have a hundred aliases just for one port, and then some lists combining them.

only if you want to add description for every single port (including well-known)?

See my example above. This is a list of seemingly random Ports used for active directory.
You have to Google each Port to know which one is the one for GC

A port group similar to the network group type would be quite simple to implement, trying to push separate descriptions into single line items isn't going to happen.
Although technically it would be possible to build a combined view where a single modal edits more related objects at the same time, there just isn't a valid use-case for spending the amount of time needed to build such a view (Customers we have had the discussion with in the past came to the same conclusion, if it is worth describing an object, just make it an object by itself)

You have to Google each Port to know which one is the one for GC

no, i don't need to search for well-known AD ports )
and you can make combinations, like "kerb ports" alias, "ldap ports" alias, 'smb ports' and so on
imho this is a matter of habits and not technology

Would speak anything against multi-line notes or descriptions?
This way, we can add structured free text descriptions without being limited to a single line.
Someone like me could document the usage for each port, someone else may add e. g. a ticket reference and some other notes.

I don't think it's a huge issue, but it might need an extra field (short description verses a long one) as the description might be used in some other areas. Haven't checked, it's also not very hight on my priority list to be honest. You could always add an issue for the long description (/additional field if needed) to see if more people with similar issues would consider this a solution.


*: support adding role in auth v3

/cc @xiang90 @ark76r

@xiang90 updated for using Name as a key of Role, PTAL.

LGTM. But do you agree with https://github.com/coreos/etcd/pull/4926#discussion_r58449480?

@xiang90 updated for the comment, PTAL. I agree with the comment.

lgtm!


Should #loaded_sources and #additional_sources be private?

I'm wondering if making these methods public adds nothing of real benefit to the user, and creates potential for confusion (when #sources should be used instead.
Any objections to making them private?

I've made them private, and update the docs/readme.md


akka, akkaHttp and circe updated to latest version.

Close #388

@semyonoskin LGTM, but please address my comment


added HXCPP_OPTIMIZE_FOR_SIZE

As continue of pull-request https://github.com/HaxeFoundation/hxcpp/pull/334 what merged into HaxeFoundation:master 5 days ago.

When creating non-gaming apps for mobile devices optimization for APK size may be desirable. Specifying the compiler flags -Os, -fno-asynchronous-unwind-tables and the linker flag -Wl,--gc-sections reduced the size of a test haxeui APK by 25%.
The compiler flag -Os is described in the gcc manual with: -Os enables all -O2 optimizations that do not typically increase code size.
With this pull request, the new HXCPP_OPTIMIZE_FOR_SIZE switch will be introduced for the Android toolchain, which - if specified - enables the mentioned compiler/linker flags.
openfl projects can now for example use:

```

Thanks!

Also I think we have to describe all HXCPP_-keys on this page.


Codechef Problem Scraper and Profile Scraper

In 2021, Codechef introduced Div3 and a new contest and long challenge are not rated for everyone.
This is causing a problem in our scraping the contest and problems which is a major issue in upsolve section of CodeChef.
New contests are not available in CodeChef Upsolving due to this issue.
Review the problem scraper codedigger/problem/scraper/codechef.py and how we are currently storing the CodeChef problems. Think of a better solution to this.
Also review the codechef profile card - API Response and Frontend
If the profile card needs some new change, do the needful changes in the codedigger/user/profile.py file.
Expectation -
Correctly store all the problems with known ContestId of each problem.
For example, if a problem is available on Div1, Div2, and Div3 - we should store that in our database. And use wherever needed (mainly in upsolve).

@abhishekangale For any doubt related to this, ask @anubhav-08 or me. He will guide you in this.


Get points on event returns empty array.

  handleOnClick(event) {     console.log(this.refs.lineChart.getPointsAtEvent(event));   }
As title states, this console log always returns empty array even though graph is showing a lot of data.

are you extending the class ? my this.refs only has { canvass: ... } I am not sure how you are able to do this otherwise.
It would help to debug it if you post more code.

You can make use of extensions to get a reference to this canvas.
``
const Chart = require('react-chartjs');
class DesktopChart extends Chart.Line {
constructor(props) {
super(props);
this.refs.canvass.onclick = function(e) {
// Add your extensions here
console.log(chart.getPointsAtEvent(e));
}
}
};
``


Add post mortem about absence of notifications from 27th Nov 2023

@danidoni @eduardoj thanks for your feedback, all addressed.

Why are there two files?

@danidoni @eduardoj sorry for the mess. Now there is only one file with today's date.
I've corrected a few typos in that file and rephrased some sentences in the Timeline section. I'd appreciate you have a quick last look.


Update for the more restrictive return types in SyntaxRewriter

Companion of https://github.com/apple/swift-syntax/pull/1003

These are definitely an improvement, IMO!
Now that I've merged #434 to work around the trivia changes, the tests are all passing again so you should be able to rebase and make sure that this doesn't cause any other odd runtime effects.


Create associations with same Table

I am trying to create an association with same Table.
Similar issue was in Sequelize Solved: https://github.com/sequelize/sequelize/issues/1937
My model looks like this:
@DefaultScope({
  attributes: ['id', 'name', 'url'],
  include: [() => Module]
})

@Table({
  timestamps: true,
  paranoid: true,
})
export class Module extends BaseModel<Module> {

  @Column
  name: string;

  @Unique
  @Column
  url: string;

  @ForeignKey(() => Module)
  @Column
  parentModuleId: number;

  @HasMany(() => Module,
    {
      foreignKey: 'parentModuleId',
      //  constraints: false,
    }
  )
  child: Module[];

}

Module table

|   id  |       name        |       url     |   parentModuleId  |
|   1   |   mainMenu1       |   /mainMenu1  |       NULL        |
|   2   |   mainMenu2       |   /mainMenu2  |       NULL        |
|   3   |   subMenu1_1      |   /subMenu1_1 |         1         |
|   4   |   subMenu1_2      |   /subMenu1_2 |         1         |
|   5   |   subMenu2        |   /subMenu2   |         2         |
|   6   |   childMenu1      |   /childMenu1 |         3         |
|   7   |   childMenu2      |   /childMenu2 |         4         |
|   8   |   childMenu3      |   /childMenu3 |         5         |
|   9   |   Link1           |   /Link1      |         6         |

expected json

{
    id: 1,
    name: mainMenu1,
    url: /mainMenu1,
    child: [
        {
            id: 3,
            name: subMenu1_1,
            url: /subMenu1_1,
            child: [
                {
                    id: 6,
                    name: childMenu1,
                    url: /childMenu1
                }
            ]
        },
        {
            id: 4,
            name: subMenu1_2,
            url: /subMenu1_2,
            child: [
                {
                    id: 7,
                    name: childMenu2,
                    url: /childMenu2
                }
            ]
        }
    ]
},
{
    id: 2,
    name: mainMenu2,
    url: /mainMenu2,
    child: [
        {
            id: 5,
            name: subMenu2,
            url: /subMenu2,
            child: [
                {
                    id: 8,
                    name: childMenu3,
                    url: /childMenu3,
                    child:[
                        {
                            id: 9,
                            name: Link1,
                            url: /Link1
                        }
                    ]
                }
            ]
        }
    ]
},

Error is
RangeError: Maximum call stack size exceeded
    at isFunction (....\node_modules\lodash\lodash.js:11646:24)
    at isArrayLike (....\node_modules\lodash\lodash.js:11332:58)
    at isArrayLikeObject (....\node_modules\lodash\lodash.js:11361:37)
    at castArrayLikeObject (....\node_modules\lodash\lodash.js:4453:14)
    at arrayMap (....\node_modules\lodash\lodash.js:639:23)
    at Function.<anonymous> (....\node_modules\lodash\lodash.js:7499:20)
    at apply (....\node_modules\lodash\lodash.js:474:27)
    at Function.intersection (....\node_modules\lodash\lodash.js:6583:16)
    at getOperators (....\node_modules\sequelize\lib\utils.js:578:12)
    at getComplexKeys (....\node_modules\sequelize\lib\utils.js:589:10)
    at sources.forEach.source (....\node_modules\sequelize\lib\utils.js:666:7)
    at Array.forEach (<anonymous>)
    at Object.defaults (....\node_modules\sequelize\lib\utils.js:662:11)
    at Function._injectScope (....\node_modules\sequelize\lib\model.js:2899:11)
    at Function._validateIncludedElement (....\node_modules\sequelize\lib\model.js:538:11)
    at options.include.options.include.map.include (....\node_modules\sequelize\lib\model.js:395:37)
    at Array.map (<anonymous>)
    at Function._validateIncludedElements (....\node_modules\sequelize\lib\model.js:390:39)
    at Function._validateIncludedElement (....\node_modules\sequelize\lib\model.js:573:38)
    at options.include.options.include.map.include (....\node_modules\sequelize\lib\model.js:395:37)
    at Array.map (<anonymous>)
    at Function._validateIncludedElements (....\node_modules\sequelize\lib\model.js:390:39)

Hello, could please provide the peace of code which crashes ? It seems to be related to a lodash usage.

thanks @BenjaminDish
@DefaultScope({
  attributes: ['id', 'name', 'url'],
  include: [() => Module]
})

Hi just trying to execute with Default Scope
const datas = await Module.findAll<Module>();

@bencesibin Does the issue also appears without using scopes?

thanks @RobinBuschmann
This works fine

const datas = await Module.findAll<Module>(
        {
          where: {
            parentModuleId: {
              [op.eq]: null
            }
          },
          include: [Module]
        },
      );

But not as expected ( multiple level child based on parentModuleId )
can u suggest me a correct method to do this.
Output is : single level child

{
  "id": "1",
  "name": "mainMenu1",
  "url": "/mainMenu1",
  "child": [{
    "id": "3",
    "name": "subMenu1_1",
    "url": "/subMenu1_1",
  }, {
    "id": "4",
    "name": "subMenu1_2",
    "url": "/subMenu1_2",
  }]
}, {
  "id": "2",
  "name": "mainMenu2",
  "url": "/mainMenu2",
  "child": [{
    "id": "5",
    "name": "subMenu2",
    "url": "/subMenu2",
  }]
}, {
  "id": "3",
  "name": "subMenu1_1",
  "url": "/subMenu1_1",
  "child": [{
    "id": "6",
    "name": "childMenu1",
    "url": "/childMenu1"
  }]
}, {
  "id": "4",
  "name": "subMenu1_2",
  "url": "/subMenu1_2",
  "child": [{
    "id": "7",
    "name": "childMenu2",
    "url": "/childMenu2"
  }]
}, {
  "id": "5",
  "name": "subMenu2",
  "url": "/subMenu2",
  "child": [{
    "id": "8",
    "name": "childMenu3",
    "url": "/childMenu3",
  }]
}, {
  "id": "8",
  "name": "childMenu3",
  "url": "/childMenu3",
  "child": [{
    "id": "9",
    "name": "Link1",
    "url": "/Link1"
  }]
}

@bencesibin  Sequelize doesn't support nested hierarchies like this by default. You will need to use something like https://github.com/overlookmotel/sequelize-hierarchy. But I haven't used it yet together with sequelize-typescript.

I will label this as bug due to the @DefaultScope issue.

Hello,
I run into the exactly same issue today.  Did you found a trick / workaround ?

Does the User.findAll({ include: [{ all: true, nested: true }]}); method not work in this scenario? I haven't tried it myself but would be curious to know.

Closing this, since this isn't an issue with sequelize-typescript. Referencing the same model in @DefaultScope always resolves in a stack overflow - That's why sequelize-hierarchy or something similar is needed


fix: code format

add and apply code formatting

Had to rerun precommit to pick up Sergei's changes


Choose transition mode for each screen in StackNavigator

I migrated over from react-native-router-flux. There it was possible for each screen to define whether it should transition vertically or horizontally. I have not seen any easy and quick way to do this like with router-flux until now.

This is (probably ?) related to https://github.com/react-community/react-navigation/issues/690

This is a super common question and it isn't easy to fix properly, but here is a hack that you may enjoy.
First, you'll need this:
const MultiNavigator = (routeConfigs) => {
  const modalNavigatorRoutes = {};
  Object.keys(routeConfigs).forEach(routeName => {
    const InnerNavigator = StackNavigator(routeConfigs);
    modalNavigatorRoutes[routeName+'Modal'] = { screen: InnerNavigator };
  });
  return StackNavigator(modalNavigatorRoutes, {mode: 'modal'});
};

Now, you can use this new magical thing:
const MyApp = MultiNavigator({
  Home: {screen: HomeScreen},
  Profile: {screen: ProfileScreen},
});

Now, inside your app you can use the normal routes, like navigate('Profile'), but you can also push any screen into the modal navigator, with navigate('ProfileModal').
I'm going to close this out, but if you have a suggestion on an alternative API, feel free to open a proposal as another issue.

@ericvicenti I think there's a bug in your code above.. calling navigate('ProfileModal'), I get a StackNavigator pushed that defaults to the Home screen. I'm currently on beta 7 - maybe something's changed in the commits since, but logically I'd expect the Home screen to be pushed.

Same as @ericvicenti

I get the same bug @richardfickling , did you find a workaround ?

In terms of API, how about adding mode to screen options? That way each screen can override the default as needed.
(to be fair, I've not gone through the transitioner / stacknavigator code, so access to screen options may not be possible)

Hi @richardfickling / @tomav / @tdurand. I have the same issue as you guys. Anyone got a solution to this?

const MainCardNavigator = StackNavigator(
  {
    Home: { screen: Home },
    CardScreen1: { screen: CardScreen1 },
    CardScreen2: { screen: CardScreen2 },
  },
  {
    headerMode: 'none',
  },
);

const MainModalNavigator = StackNavigator(
  {
    MainCardNavigator: { screen: MainCardNavigator }
    ModalScreen1: { screen: ModalScreen1 },
    ModalScreen2: { screen: ModalScreen2 },
  },
  {
    mode: 'modal',
    headerMode: 'none',
  },
);

I display the MainModalNavigator, and can navigate from HomeScreen to any of the card or modal screens, with the correct transition. Only gotcha is that a screen displayed modally can't navigate to a screen displayed as a card.

Is anyone else here getting a back button in their modals using the nesting configuration shown by @richardfickling?

Oh yeah, headers are likely messed up. I have my own custom header throughout my app, so I've never had that issue

Something like that @antgly
import { HeaderBackButton } from 'react-navigation';

static navigationOptions = ({ navigation }) => ({
    headerLeft: <HeaderBackButton onPress={() => navigation.dispatch({ type: 'Navigation/BACK' })} />,
    headerTitle: "Title"
})

@tdurand I have the opposite issue.

@richardfickling In the code below, if you set headerMode to be  none then there won't be any header. How would you navigate back?
const MainCardNavigator = StackNavigator(
  {
    Home: { screen: Home },
    CardScreen1: { screen: CardScreen1 },
    CardScreen2: { screen: CardScreen2 },
  },
  {
    headerMode: 'none',
  },
);

I have my own custom header on every screen, so I use headerMode: none on all of my navigators

@richardfickling how did you connect your custom header with navigator? Or you mean something like this:
<View>
  <Header />
  <ScrollView>
   ...
  </ScrollView>
</View>```

yeah, it's basically what you said. In my screen's view, <Header navigation={this.props.navigation} /> and in the header I have a <Button onPress={() => this.props.navigation.goBack()} /> (not the cleanest code, but the world will keep spinning regardless)

With 1.0-beta9,  I set headerMode to be screen in the navigator, and customize each screen with static headerOption= {...}. I can also disable header of any screen with header: null.  But I think @richardfickling 's solution can solve issue #145 at the same time.

@richardfickling Could you pls give more details on the usage of ? With the code below
        <Header navigation={this.props.navigation}>
          <Button title='Back' onPress={() => this.props.navigation.goBack()} />
        </Header>

I got
Cannot read property 'index' of undefined
TypeError: Cannot read property 'index' of undefined

The modal workaround above doesn't work. It opens up the home screen instead of the screen that you specify. Also, it ignores all of my navigation options.

@richardfickling Your workaround works wonderfully! Thank you! That should be the goto solution. The issue of not being able to navigate again through the card stack from there is not important to my use case because I'm just loading one off modals.

Hello,
I have a modal working fine.  I have made the modal window transparent. But I have to reduce the opacity of background screen when modal is presented. Any workaround on this?

The solution from @richardfickling works great but it's cumbersome to have to manually add headerLeft to each screen. I can add it only once to the StackNavigator default settings:
StackNavigator({
...
}, {
  headerMode: 'none',
  navigationOptions: ({navigation}) => ({
    headerLeft: <HeaderBackButton title='Back' onPress={() => navigation.dispatch({ type: 'Navigation/BACK' })} />
  })
})

But then the back button will always have the text 'Back' instead of the previous screen name.

Even if @richardfickling's solution fixed the problem, I now have a bigger one ! I have my screens configured like this :
// Card Navigation
//
const CardNavigator = StackNavigator({
  // Home: { screen: TabNav },
  Discover: {
    screen: Discover,
    navigationOptions: () => ({
      title: 'Discover',
    }),
  },
  DetailShow: {
    screen: DetailShow,
    navigationOptions: () => ({
      headerMode: 'none',
    }),
  },
}, { headerMode: 'screen' });

// Main Navigation (modal)
//
export const AppNavigator = StackNavigator({
  Home: {
    screen: CardNavigator,
  },
  CustomModal: {
    screen: CustomModal,
    navigationOptions: () => ({
      headerMode: 'none',
    }),
  },
}, { headerMode: 'none', mode: 'modal'});

When I navigate to CustomModal everything works. I have a nice route from Home to CustomModal.
But when I navigation to DetailShow... I get my screen, but when I look at the route I get only one element : Home
That's a real problem because it means you can't use .goBack() and it'd close your app if you use it on an Android device.
Any idea?

I really like @richardfickling's approach, so this is what I did to get it working.
FULL DISCLOSURE: Not fully tested yet, haven't tried it out with headers. Will post another update as this evolves.
const StackModalNavigator = (routeConfigs, navigatorConfig) => {
  const CardStackNavigator = StackNavigator(routeConfigs, navigatorConfig);
  const modalRouteConfig = {};
  const routeNames = Object.keys(routeConfigs);

  for (let i = 0; i < routeNames.length; i++) {
    modalRouteConfig[`${routeNames[i]}Modal`] = routeConfigs[routeNames[i]];
  }

  const ModalStackNavigator = StackNavigator({
    CardStackNavigator: { screen: CardStackNavigator },
    ...modalRouteConfig
  }, {
    mode: 'modal',
    headerMode: 'none'
  });

  return ModalStackNavigator;
};

Create the navigator:
const RootNavigator = StackModalNavigator({
  Intro: {
    screen: Intro
  },
  Profile: {
    screen: Profile
  },
  Browse: {
    screen: Browse
  }
}, {
  headerMode: 'none'
});

Usage:
// Navigate with regular transition
this.props.navigate('Intro')

// Navigate with modal transition (just append "Modal" to the end of the route name)
this.props.navigate('IntroModal')

I had the issue with the @richardgirges's implementation when I had nested StackModalNavigators. The solution was to have a custom name for CardStackNavigator inside ModalStackNavigator:
const StackModalNavigator = (name, routeConfigs, navigatorConfig) => {
  const CardStackNavigator = StackNavigator(routeConfigs, navigatorConfig);
  const modalRouteConfig = {};
  const routeNames = Object.keys(routeConfigs);

  for (let i = 0; i < routeNames.length; i++) {
    modalRouteConfig[`${routeNames[i]}Modal`] = routeConfigs[routeNames[i]];
  }

  const ModalStackNavigator = StackNavigator(
    {
      [name]: { screen: CardStackNavigator },
      ...modalRouteConfig
    },
    {
      mode: 'modal',
      headerMode: 'none'
    }
  );

  return ModalStackNavigator;
};

Guys. here is what you want.
And do like this when you want to go to modal and back.
        screenProps.modalNavigation.navigate('modalmain');

const _NavMain = StackNavigator({
    root:{ screen: MainScreen },
    stackdepth1:{screen: stackdepth1},
    stackdepth2:{screen: stackdepth2},
}
, {navigationOptions:whatever})

const _NavModalMain = StackNavigator({
    modalroot:{ screen: modalroot, navigationOptions:(props) => ({
        headerLeft:
            <TouchableOpacity onPress={() => {props.screenProps.modalNavigation.goBack()}}>
                <Text style={{color:'white', fontWeight:'bold', marginHorizontal:15}}>취소</Text>
            </TouchableOpacity>
    })}
}
, {navigationOptions:whatever})

const Main = StackNavigator({
    stackmain:{ screen: ({navigation}) => <_NavMain screenProps={modalNavigation:navigation}/>  },
    modalmain:{ screen: ({navigation}) => <_NavModalMain screenProps= screenProps={modalNavigation:navigation}/> },
}
, {navigationOptions:whatever, headerMode:'none', mode:'modal'})

@bradbumbalough i think that is not a problem, Android default screen transition just like a modal

@bradbumbalough @xiaogliu You have to manually declare the transitionConfig for the StackNavigator you have intended for mode: 'card'
import { StackNavigator } from 'react-navigation'
import CardStackStyleInterpolator from 'react-navigation/src/views/CardStack/CardStackStyleInterpolator'

const CardStackNavigator = StackNavigator(
  {
    Home: { screen: Home },
    Screen1 : { screen: Screen1 },
  },
  {
    initialRouteName: 'Home',
    headerMode: 'none',
    transitionConfig() {
      return { screenInterpolator: CardStackStyleInterpolator.forHorizontal }
    },
  },
)

However, my problem with this nested stack navigator solution to have both modal and card mode is that for android, it is horribly slow in transition to reset a route from a nested stack to the root stack. In my case I have a root stack with mode: 'modal' and inside a nested stack with mode: 'card'. when I navigate to a nested card view and then another one (now 2 nested card screens in the stack) and then try and reset the route back to Home in the root stack navigator. It is painfully slow and buggy, it is honestly beyond me how a solution for this has not been prioritized as mentioned by the maintainer it is a super common problem.

Does anyone have a nice recipe for a Modal in an App that uses TabRouter like so:
const Main = TabRouter(
  {
    Screen1: {
      screen: Screens.One,
    },
    Screen2: {
      screen: Screens.Two,
    },
},
  {
    initialRouteName: 'Screen1',
  });

const MyApp = createNavigationContainer(createNavigator(Main)(AppScreen));

The approach with two nested "Navigators" does not work here as far as my tests went. I cannot add TabRouter as a child to the root Navigator. I'm currently stuck. Anyone?

make the tabnavigator a child of a stacknavigator
const MainTabs = TabNavigator({ /* your routes etc */ });
const MyApp = StackNavigator({
  TabThing: MainTabs,
  ModalThing: SomeScreenOrStack,
}, {
  mode: 'modal',
  initialRouteName: 'TabThing',
});

I'm going to lock this issue because it's not a useful place to continue discussions. Feel free to comment further on here: https://github.com/react-navigation/rfcs/issues/10


Global run of complex land model with ERA5 forcing

Purpose
Carry out global run of soil+canopy model on GPU and CPU
To-do

Future PR: add in runoff. This requires altering our land model constructor, which will then involve changing a number of files more (to supply runoff instead of using the default). I will follow up this PR with a quick one adding that.

Content

Previously, we had only ever simulated Richards model globally. Because the soil properties vary spatially, certain functions that are only used by EnergyHydrology needed to be updated to be broadcastable. The primary change is because the parameter struct contains fields, but is not a field of a parameter structs. this means that functions that we broadcasted over a Ref of the parameter struct before now must be supplied each parameter field as an argument. This led to a LOT of changes (volumetric_heat_capacity, volumetric_internal_energy, volumetric_internal_energy_liq, phase_change_source, soil_resistance)
Parameters that were marked as FT in the EnergyHydrologyParameter struct now are a unionof FT and Field. Some parameters are only defined on the surface, rather than throughout the soil, so they need a different parametric type
added benchmark - on GPU
added experiment - GPU/CPU

Note: For the benchmark -  currently about 1/4 of the time is in setup rather than solve, so maybe we need to change the setup of the simulation. however, making it longer leads to failures, so Im not sure yet.
Note: The experiment does not run on GPU in CI - on caltech - , but it does on GPU on clima (benchmark). For now I removed the run on caltech

[ ] I have read and checked the items on the review checklist.

LGTM! Thank you for addressing the review so thoroughly :) I left a few more minor comments

thank you for the quick and thorough review!


feature request: page flag: show/hide base page

The gslc_tsPage type should get a flag which indicates whether the "base page" is shown on this page or not. A typical base page would be a status bar and such should be shown on every page by default but pages should be exempted by setting a flag.
Example: Some boot screen or some "installing updates" screen should not show the status bar base page but should fill the entire screen.
@ImpulseAdventure I would just implement this feature myself and open a PR at some point. Is that OK for you?

@ilka-schulz I'm not sure this is the right way to do this.  First it could be way more complicated then you might think.  It also would be very difficult to support within the GUIsliceBuilder.
Plus supporting boot, splash, and update screens can already be done easily.
See my GUIslice-Solutions Repro.

ex_boot_screen
ex_splash_screen
busywait

Of couse, feel free to do as you want.  This is just my opinion...
Paul--

Hmm, I see your points. Using the popup stack layer is an elegant solution for my problem. Also, I completely forgot about the builder – I am on Linux and never used it...
To achieve the request functionality, there seems to be an easier solution: I already have a wrapper function in my project around gslc_SetPageCur and I could have used that wrapper function to hide the base page on certain pages and show it on certain other pages, e.g.:
enum class Page : int16_t {
    E_PG_BASE,
    E_PG_STARTUP,
    E_PG_INFOSCREEN,
    // ...
    MAX_PAGE
};
void show_page(const Page page) {
    ESP_LOGD(LOG_TAG, "showing page %i", (int)page);
    gslc_SetPageCur(&m_gui, (int16_t)page);

    if (page == Page::E_PG_STARTUP) {
        ESP_LOGD(LOG_TAG, "hiding status bar");
        gslc_SetPageBase(&m_gui, (int16_t) nullptr);
    } else {
        ESP_LOGD(LOG_TAG, "showing status bar");
        gslc_SetPageBase(&m_gui, (int16_t)Page::E_PG_BASE);
    }
}

That would have been so much easier than what I implemented in PR #538 :see_no_evil: That solution requires that the calling code calls the wrapper, not gslc_SetPageCur directly but that is not too difficult to ensure.
I think I am going to close this issue and the corresponding PR #538 as the goal can already be achieved with GUIslice although with a slightly different route than proposed in the feature request.


Sync subghz peripheral support with stm32wlxx-hal

A few more registers exposed
Fix for "sleeping"
Updating comments

bors r+


mat-sidenav-container occupying only its component instead of showing up in a complete application

Bug, feature request, or proposal:
Not sure, it this is a bug, or is it a bug?
mat-sidenav-container occupying only its component instead of showing up in a complete application
What is the expected behavior?
no matter where this mat-sidenav-container is placed either in component or module, it should act overlay the entire application, but currently it is showing only in the component where it is placed.
What is the current behavior?
no matter where this mat-sidenav-container is placed either in component or module, it should act overlay the entire application, but currently it is showing only in the component where it is placed.
What are the steps to reproduce?
current state,

place the angular component in the way as shown in the below pic,

instead of overlaying the entire application, sidebar is opening only in its component.
What is the use-case or motivation for changing an existing behavior?
is there a workaround for this?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Latest
Is there anything else we should know?
Nope

Can you reproduce it in a stackblitz? I use it in a project of mine and its working right (contained in a
mat-tab):

I'm having the exact same issue.  mat-sidenav-container is using 100% but mat-sidenav-content is only the height of it's content, despite being set to height:100%. It seems however that this happens only in chrome

I suspect this is a CSS styling issue and not a bug with the sidenav. If you are still able to reproduce and think it is a bug, please open a new issue with a stackblitz reproduction.

@mmalerba please reopen, this is a real issue, if you google it there's plenty of people asking about it on stack overflow.
https://github.com/angular/material2/issues/833
Turns out that your documentation is not complete, and there is a 'fullscreen' attribute that can be used to make this a non-issue (though you'd think it would be a default behaviour. Please reopen, and make the task one of having documentation properly reflect the api.

@jpike88 If you think its a doc issue , why not make a Pull Request with a fix ?

Because I don't know whether it's undocumented because it's deprecated or just by accident. I'll gladly help when there's clear direction on what should be done.


Unexpected behaviour of getInstance().getHTML() when used in a library

Describe the bug
I am using this editor in many projects. I am customizing this editor a little bit

dark mode
toggle preview style
fullscreen
mermaid
katex
latex
iframe (for  selected domain only)
inline math
some CSS

So, instead of repeating the same code everywhere, I tried to develop it as a library and install that everywhere.

I used create-react-library to develop it

What is not working
I am using this code to parse inline math.
It's working perfectly inside the viewer but, the returned HTML is not correct.
markdown input
$$katex
\sum_{i=0}^nA[i]
$$

$\sum_{i=0}^nA[i]$

Output - Viewer of the editor

Output - getInstance().getHTML()

The inline parsed HTML is not returned by getInstance().getHTML()
To Reproduce
Steps to reproduce the behaviour:

Clone the repo https://github.com/ats1999/md-byte
cd md-byte/mde10 && npm I && cd example && npm i
cd md-byte/mde10 && npm start
cd md-byte/mde10/example && npm start

Expected behaviour
Inline parsed HTML should be returned by getInstance().getHTML()
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@ats1999
I checked the issue.
The getHTML() result is returned based on our wysiwyg for compatibility.
However, the customizing of the text  through customHTMLRenderer is not applied when converting to WYSIWYG editor.
In the end, it seems to be a problem that can be solved if the custom inline node is officially supported.
I'll think more about this!

@js87zz I saw htmlInline here
But, i am not aware that how can i use it.
According to the example in the above docs
    htmlInline: {
      big(node, { entering }) {
        return entering
          ? { type: 'openTag', tagName: 'big', attributes: node.attrs }
          : { type: 'closeTag', tagName: 'big' };
      },
    }

What is big here??
How can I parse $math$ with htmlInline?

I got it what is big.
But instead of writing inline HTML nodes, I would like to use $math$ syntax.


Add path for adding manual accounts in linux

Hi,
I'm starting to use speckle on linux (mainly for QGIS, Blender and my scripts).
I saw that this discussion points to the instructions to add the account manually, but there's no indication of the path used in linux/unix systems.
After some lurking around the code I discovered that the folder is ~/.local/share/Speckle/Accounts
It would be great to add this path to the docs.

Thanks! Paths added :)
One day we should also have a Manager for Linux :)


Add field for additional additional child tax credit (Lee-Rubio)

New field for this credit needs to be added to TaxBrain input page due to this PR.

@MattHJensen Maybe in the section right below current additional child tax credit?

Note that "Additional additional child tax credit (Lee-Rubio)" would be a new subsection header.
@Amy-Xu, the name that is displayed for the parameter will be pulled from the long_name attribute in current_law_policy.json. So rather than "Credit amount for each qualify child", if the webapp team implemented this right now, the name would show up on the webapp as "Partially refundable child tax credit". Perhaps the long_name in current_law_policy.json should instead be "Additional additional child tax credit amount per qualifying child". And then the meta data should specify any additional information (like where the qualification rules come from for instance).

@MattHJensen Maybe in the section right below current additional child tax credit?

sounds good to me.

@MattHJensen Will open a PR to modify the meta data shortly. Thanks!

Already on TaxBrain. Closing.


Dismiss keyboard will fire keyboardWillShow on iOS 14

Description
Look similar to #18003
React Native version:
System:
    OS: macOS 10.15.6
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 156.31 MB / 16.00 GB
    Shell: 5.8 - /usr/local/bin/zsh
  Binaries:
    Node: 12.18.3 - ~/.nvm/versions/node/v12.18.3/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.6 - ~/.nvm/versions/node/v12.18.3/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 28, 30
      Build Tools: 28.0.3, 30.0.1, 30.0.2
      System Images: android-30 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
    Xcode: 12.0.1/12A7300 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_265 - /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home//bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.2 => 0.63.2
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Play with iOS 14 (it works fine on iOS 12 and iOS 13)
Focus on TextInput  and keyboard show up
<Button onPress={()=>{Keyboard.dismiss()}}
click to TextInput (will keyboardWillShow event fire)
pressed keyboard return key (keyboardWillShow event will not fire)

Expected Results
Only keyboardWillHide(keyboardDidHide) will be fired.
Snack, code example, screenshot, or link to a repository:

Hey, I've got a similar issue. Keyboard hidden is shown twice.
You can see this behavior also in the example snack (iOS) in the documentation
https://snack.expo.io/?&iframeId=5kxl55mlft&preview=true&platform=web&supportedPlatforms=ios,android,web&name=Keyboard%20Function%20Component%20Example&description=Example%20usage&theme=light&waitForData=true
iOS 14.0.1
react-native-cli: 2.0.1
react-native: 0.63.4

Hey, I've got a similar issue. Keyboard hidden is shown twice.
You can see this behavior also in the example snack (iOS) in the documentation
https://snack.expo.io/?&iframeId=5kxl55mlft&preview=true&platform=web&supportedPlatforms=ios,android,web&name=Keyboard%20Function%20Component%20Example&description=Example%20usage&theme=light&waitForData=true
iOS 14.0.1
react-native-cli: 2.0.1
react-native: 0.63.4

I found very similar bug.
keyboardWillShow fires when user blurs TextInput. In my case this happens only when user change text in the input
iOS 13.5
react-native: 0.59.10


Could not find an appender named [STACKDRIVER]

my dependency:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter-logging</artifactId>
    <version>1.2.1.RELEASE</version>
</dependency>

my logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- With 1.2 release, replace with: include resource="org/springframework/cloud/gcp/logging/logback-appender.xml" /-->
    <include resource="org/springframework/cloud/gcp/logging/logback-appender.xml" />
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <root level="INFO">
        <!-- If running in GCP, remove the CONSOLE appender otherwise logs will be duplicated. -->
        <!--appender-ref ref="CONSOLE"/-->
        <appender-ref ref="STACKDRIVER" />
    </root>
</configuration>

The error:
 Logback configuration error detected:
ERROR in ch.qos.logback.core.joran.action.AppenderRefAction - Could not find an appender named [STACKDRIVER]

Troubleshooting in https://github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/517

Closing as a duplicate.