Android: Lockscreen/Notifications area player not showing up in Android 8 Oreo

Hey guys,
In Android 8.0 Oreo, the plugin seems to be working and creates an object and everything but it just doesn't show up! There is no error or any warning or anything.
I've tried adding and removing the android platform in Ionic 2/3 but still no joy.
Anyone else have the same issue or know how to solve this issue?
Thanks!

@BuddyLReno @ghenry22 you guys have any idea?

I've currently got a working implementation on Android. Can you post your initialization code?

Hi @BuddyLReno,
Here is my code
        this.musicControls.create({
            track       : track.name,
            artist      : track.artist.name,
            cover       : track.image,
            isPlaying   : true,
            dismissable : true,

            // hide previous/next/close buttons:
            hasPrev   : true,      // show previous button, optional,
default: true
            hasNext   : true,      // show next button, optional, default:
true
            hasClose  : false,       // show close button, optional,
default: false

            // iOS only, optional
            album       : track.album.name,
            duration    : track.duration,
            elapsed     : getSeconds(this.mediaModel.currentPosition),

            hasSkipForward : true,  // show skip forward button, optional,
default: false
            hasSkipBackward : true, // show skip backward button, optional,
default: false
            skipForwardInterval: 15, // display number for skip forward,
optional, default: 0
            skipBackwardInterval: 15, // display number for skip backward,
optional, default: 0
            //hasScrubbing : true, //optional. default to false. Enable
scrubbing from control center progress bar //disabled as it's not part of
ionic-native/media-controls yet

            // Android only, optional
            // text displayed in the status bar when the notification (and
the ticker) are updated
            ticker    : "Now Playing: " + track.name  //Android only

            //All icons default to their built-in android equivalents
            //The supplied drawable name, e.g. 'media_play', is the name of
a drawable found under android/res/drawable* folders
           /* disabled as it's not part of ionic-native/media-controls yet
            playIcon: 'media_play',
            pauseIcon: 'media_pause',
            prevIcon: 'media_prev',
            nextIcon: 'media_next',
            closeIcon: 'media_close',
            notificationIcon: 'notification' */
        })
        .catch((error) => {console.log('createMusicControls.error',
error);})
        .then((value) => {console.log('createMusicControls.value',
value);});
        this.subscribeEvents();
    }```

Please do let me know when you have this working for Android 8.0+, thanks!

On 14 November 2017 at 18:00, Buddy Reno<EMAIL_ADDRESS>wrote:

> I've currently got a working implementation on Android. Can you post your
> initialization code?
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/homerours/cordova-music-controls-plugin/issues/101#issuecomment-344344096>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AQHaG3XqCRyLWh44z60nih6BCMG0AByhks5s2dU4gaJpZM4QdWDE>
> .
>

Hi @BuddyLReno,
Here is my code
        this.musicControls.create({
            track       : track.name,
            artist      : track.artist.name,
            cover       : track.image,
            isPlaying   : true,
            dismissable : true,

            // hide previous/next/close buttons:
            hasPrev   : true,      // show previous button, optional,
default: true
            hasNext   : true,      // show next button, optional, default:
true
            hasClose  : false,       // show close button, optional,
default: false

            // iOS only, optional
            album       : track.album.name,
            duration    : track.duration,
            elapsed     : getSeconds(this.mediaModel.currentPosition),

            hasSkipForward : true,  // show skip forward button, optional,
default: false
            hasSkipBackward : true, // show skip backward button, optional,
default: false
            skipForwardInterval: 15, // display number for skip forward,
optional, default: 0
            skipBackwardInterval: 15, // display number for skip backward,
optional, default: 0
            //hasScrubbing : true, //optional. default to false. Enable
scrubbing from control center progress bar //disabled as it's not part of
ionic-native/media-controls yet

            // Android only, optional
            // text displayed in the status bar when the notification (and
the ticker) are updated
            ticker    : "Now Playing: " + track.name  //Android only

            //All icons default to their built-in android equivalents
            //The supplied drawable name, e.g. 'media_play', is the name of
a drawable found under android/res/drawable* folders
           /* disabled as it's not part of ionic-native/media-controls yet
            playIcon: 'media_play',
            pauseIcon: 'media_pause',
            prevIcon: 'media_prev',
            nextIcon: 'media_next',
            closeIcon: 'media_close',
            notificationIcon: 'notification' */
        })
        .catch((error) => {console.log('createMusicControls.error',
error);})
        .then((value) => {console.log('createMusicControls.value',
value);});
        this.subscribeEvents();
    }```

Please do let me know when you have this working for Android 8.0+, thanks!

Can you clean this up and remove all the comments?  From what I'm seeing I think you're missing the .listen() function. That should kick everything off. Is subscribeEvents(); your own function?
Here's an example of how I do it in my app:
private mediaControllerDefaults: MusicControlsOptions = {
    track: "",
    artist: "",
    isPlaying: true,
    dismissable: false,
    cover:
      "https://cdn.ramseysolutions.net/media/b2c/broadcast/app/bg-lock-screen.jpg",
    hasPrev: false,
    hasNext: false,
    hasSkipForward: true,
    hasSkipBackward: true,
    skipForwardInterval: 15,
    skipBackwardInterval: 15,
    hasClose: false,
    album: "",
    duration: 0,
    elapsed: 0,
    ticker: ""
  };

createControls(data: object): void {
    this.mediaControllerMetadata = merge(this.mediaControllerMetadata)(data);
    if (this.platform.is("cordova")) {
      this.musicControls.create(this.mediaControllerMetadata);
      this.createControlListeners();
      this.musicControls.listen();
    }
  }

private createControlListeners(): void {
    this.musicControls.subscribe().subscribe(event => {
      const action = JSON.parse(event).message;
      switch (action) {
        case "music-controls-play":
        case "music-controls-media-button-play":
          this.play();
          break;
        case "music-controls-pause":
        case "music-controls-media-button-pause":
          this.pause();
          break;
        case "music-controls-media-button-play-pause":
        case "music-controls-toggle-play-pause":
        case "music-controls-media-button-headset-hook":
          const lastAction = this.actionSource.getValue();
          if (lastAction === PAUSE) {
            this.play();
          } else {
            this.pause();
          }
          break;
        case "music-controls-seek-to":
          if (this.platform.is("ios")) {
            this.seekTo(JSON.parse(event).position * 1000);
          }
          break;
        case "music-controls-next":
        case "music-controls-media-button-next":
        case "music-controls-skip-forward":
        case "music-controls-media-button-fast-forward":
        case "music-controls-media-button-skip-forward":
        case "music-controls-media-button-step-forward":
        case "music-controls-media-button-meta-right":
          this.getPosition().then(sec => {
            this.seekTo((sec + 15) * 1000);
          });
          break;
        case "music-controls-previous":
        case "music-controls-media-button-previous":
        case "music-controls-skip-backward":
        case "music-controls-media-button-rewind":
        case "music-controls-media-button-skip-backward":
        case "music-controls-media-button-step-backward":
        case "music-controls-media-button-meta-left":
          this.getPosition().then(sec => {
            this.seekTo((sec - 15) * 1000);
          });
          break;
        case "music-controls-media-button-stop":
          this.release();
          break;
      }
    });
  }

Hi @BuddyLReno,
The code snippet I posted was part of a large piece of code that I am unable to publish publicly.
Anyway, that same piece of code works fine for all iOS devices and versions 9.0 onwards. It also works on all Android devices and version from API level 16 onwards until API level 25.
It is only API level 26 (Oreo) where the player initialises but never appears in the notification/lock-screen areas.
Android Oreo has a few new things in it that deal with apps running in the background and/or permissions. Perhaps it is something to do with that instead of front-end implementation?
I have double and tripled checked my code and everything is correctly done.
Hope you can help!

Hhhmmmm. Can you download this app on your Oreo device and let me know if the lock screen controls work? My product manager has a Google Pixel with Oreo on it and it is working.
https://play.google.com/store/apps/details?id=com.daveramsey.tdrsapp&hl=en

Doing it now.

Ok it works! Cool thanks for that test.. what else can it be about my build that is causing an issue? Perhaps a conflicting plugin?  see my list below
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-appminimize 1.0 "AppMinimize"
cordova-plugin-apprate 1.3.0 "AppRate"
cordova-plugin-browsertab 0.2.0 "cordova-plugin-browsertab"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-dialogs 1.3.4 "Notification"
cordova-plugin-facebook4 1.9.1 "Facebook Connect"
cordova-plugin-file 5.0.0 "File"
cordova-plugin-file-transfer 1.7.0 "File Transfer"
cordova-plugin-globalization 1.0.8 "Globalization"
cordova-plugin-google-analytics 1.8.3 "Google Universal Analytics Plugin"
cordova-plugin-googleplus 5.1.1 "Google SignIn"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-inapppurchase 1.1.0 "In App Purchase"
cordova-plugin-intercom 3.2.2 "Intercom"
cordova-plugin-ionic-webview 1.1.15 "cordova-plugin-ionic-webview"
cordova-plugin-market 1.2.0 "Market"
cordova-plugin-media 4.0.1-dev "Media"
cordova-plugin-mixpanel 4.0.0 "Mixpanel"
cordova-plugin-music-controls 2.0.0 "MusicControls"
cordova-plugin-nativeaudio 3.0.9 "Cordova Native Audio"
cordova-plugin-network-information 1.3.4 "Network Information"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.3.0 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova-sqlite-storage 2.0.4 "Cordova sqlite storage plugin"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-keyboard 2.2.1 "Keyboard"
nl.kingsquare.cordova.background-audio 1.0.1 "background-audio"
onesignal-cordova-plugin 2.2.2 "OneSignal Push Notifications"

Here is all the relevant code that I can share as well in case that helps
createMusicControls() {
        this._musicControls.create({
            track       : this._track.name,
            artist      : this._track.artist.name,
            cover       : this._track.image,
            isPlaying   : true,
            dismissable : true,
            hasPrev   : true,
            hasNext   : true,
            hasClose  : false,
            album       : this._track.album.name,
            duration    : this._track.duration,
            elapsed     : this.getSeconds(this.mediaModel.currentPosition),
            hasSkipForward : true,
            hasSkipBackward : true,
            skipForwardInterval: 15,
            skipBackwardInterval: 15,
            ticker    : "Now Playing: " + this._track.name,
        })
        .catch((error) => {console.log('createMusicControls.error', error);})
        .then((value) => {console.log('createMusicControls.value', value);});
        this.subscribeEvents();
    }

    subscribeEvents() {
        console.log('subscribeEvents');

        this._musicControls.subscribe().subscribe(action => {
            console.log('subscribeEvents.action', action);
                let message = JSON.parse(action).message;
                console.log('subscribeEvents.message', message);
                switch(message) {
                    case 'music-controls-next':
                        this.fastForwardMedia();
                        break;
                    case 'music-controls-skip-forward':
                        this.fastForwardMedia();
                        break;
                    case 'music-controls-previous':
                        this.rewindMedia();
                        break;
                    case 'music-controls-skip-backward':
                        this.rewindMedia();
                        break;
                    case 'music-controls-pause':
                        this.triggerPlayPause();
                        break;
                    case 'music-controls-play':
                        this.triggerPlayPause();
                        break;
                    case 'music-controls-destroy':
                        this.cleanUp(true);
                        break;
                    case 'music-controls-toggle-play-pause':
                        this.triggerPlayPause();
                        break;
                    case 'music-controls-seek-to':
                        let seekToInSeconds = JSON.parse(action).position;
                        this.updateTimePosition(seekToInSeconds);
                        this._musicControls.updateElapsed({
                            elapsed: seekToInSeconds,
                            isPlaying: true
                        });
                        break;
                    case 'music-controls-media-button' :
                        this.triggerPlayPause();
                        break;
                    case 'music-controls-headset-unplugged':
                        this.justPause();
                        break;
                    case 'music-controls-headset-plugged':
                        this.justPause();
                        break;
                    default:
                        break;
                }
        });
        this._musicControls.listen();
    }

Background Audio possibly? We don't use background audio in our app. That's the only thing I can think of off the top of my head. We've not had any issues on the Android side.
I did however fork the media plugin and made a few changes to it. Perhaps try using this fork of the media plugin as well and see if you have any success? I haven't had time to try and make PRs on the media plugin yet. https://github.com/buddylreno/cordova-plugin-media

Ok using your media plugin did not work..  removing background-audio did not work :(
not really sure what else to do here!

hhmmm I'm unsure as well.  For giggles, take out the catch and then in the create method and see what happens.
Also try completely removing the platforms folder and plugins folder (straight up delete the folder) and then run ionic cordova prepare.
Taking shots in the dark now :/

Can we compare our ionic environment? Maybe the issue lies there?
cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.18.0
    ionic (Ionic CLI) : 3.18.0

global packages:

    cordova (Cordova CLI) : 7.1.0

local packages:

    @ionic/app-scripts : 3.1.2
    Cordova Platforms  : android 6.5.0-dev ios 4.5.1
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    ios-deploy        : 1.9.2
    ios-sim           : 6.1.2
    Node              : v6.10.2
    npm               : 5.5.1
    OS                : macOS Sierra
    Xcode             : Xcode 9.1 Build version 9B55

Environment Variables:

    ANDROID_HOME : /Users/ashishmehra/Library/Android/sdk

Misc:

    backend : pro

I've also tried cordova-android 6.3.0 and 6.4.0

Ok so I got it working! In case someone else is stuck here is how this works on Android 8.0.
You will need to downgrade your cordova-android to 6.2.3
You will then need:
cordova-plugin-media at version 3.0.1
cordova-plugin-file at version 4.3.3
cordova-plugin-file-transfer at version 1.6.3
@BuddyLReno I presume you have a similar build to this?

Hey! Sorry, I was busy last night and didn't have a chance to get back to you. Glad you got it working! Here's my setup.
Cordova-android 6.4.0
plugin-media is my fork
ahh... file and file-transfer i'm using the master forks.
<plugin name="cordova-plugin-file" spec="git+https://github.com/apache/cordova-plugin-file.git" />
<plugin name="cordova-plugin-file-transfer" spec="git+https://github.com/apache/cordova-plugin-file-transfer.git" />

I wonder if some of that is a hold over from trying to get Ionic WKwebview working for my app (which I can't at the moment because I need to play multiple audio files in a row, like a playlist.)

It's surprising how you have it working for cordova-android 6.4.0.. Maybe it is the WKwebview. That is also causing us a lot of other issues.
Do you have this plugin?
cordova-plugin-ionic-webview 1.1.15 "cordova-plugin-ionic-webview ?

I've been able to make it work with that plugin, it shows up an functions. However we can't use it because it pauses javascript in the background keeping us from moving to a new track when the current track is finished.

@BuddyLReno try my fork for wkwebview:
https://github.com/ghenry22/cordova-plugin-ionic-webview#integratedFixes
I have a PR open on the ionic wkwebview repo as well.
This enables proper background operation for both wkwebview and the GCDwebserver and also adds the option to use the dark themed keyboard.
You will need to add these options to your config.xml as appropriate:
ionic cordova plugin add https://github.com/ghenry22/cordova-plugin-ionic-webview#integratedFixes
in your config.xml you can set these new preferences
use dark keyboard appearance on iOS, defaults to false if not specified
<preference name="KeyboardAppearanceDark" value="false" />
set a custom port, defaults to 8080 if not specified, ensure to update your <allow-navigation> value to match the new port.
<preference name="WKPort" value="8534" />
enable background mode, defaults to false if not specified
<preference name="WKEnableBackground" value="true" />

the ionic webview is only relevant to iOS though, it shouldn't affect android in any way as it isn't used in android.  @AshishMehra try calling listen after create, before you call subscribe.

Thanks @ghenry22 will give this a shot!

I have this same issue.
I've tried to call listen after create as proposed by @ghenry22 with no luck.
Any workaround for this?

I have also same issue.
I've already listen method called still not create music control in notification bar or on lock screen.
Below 8.0.0 android version works fine but not work in 8.0.0 or above.
Here is my method of create music control, can you help me @BuddyLReno or @ghenry22 ?
setupMusicControl(songData) {
this.musicControls.create({
track: songData.trackTitle,
artist: songData.userName,
cover: songData.trackImage,
isPlaying: csConfig.isPlaying,
dismissable: false,
hasPrev: true,
hasNext: true,
hasClose: false,
hasSkipForward: false,
hasSkipBackward: false,
skipForwardInterval: 15,
skipBackwardInterval: 15,
album: songData.trackTitle,
duration: csConfig.duration,
elapsed: csConfig.position,
ticker: 'Now playing ' + songData.trackTitle
});
this.musicControls.subscribe().subscribe((action) => {
const message = JSON.parse(action).message;
switch (message) {
case 'music-controls-next':
this.events.publish('nextSong', false);
break;
case 'music-controls-previous':
this.events.publish('nextSong', true);
break;
case 'music-controls-pause':
this.togglePause();
break;
case 'music-controls-play':
this.togglePause();
break;
case 'music-controls-destroy':
soundObj.destruct();
this.musicControls.destroy();
this.publishTrackConfig();
break;
case 'music-controls-toggle-play-pause':
this.togglePause();
break;
case 'music-controls-seek-to':
break;
case 'music-controls-skip-forward':
break;
case 'music-controls-skip-backward':
break;
case 'music-controls-media-button':
break;
case 'music-controls-headset-unplugged':
break;
case 'music-controls-headset-plugged':
break;
default:
break;
}
});
this.musicControls.listen();
this.musicControls.updateIsPlaying(true);
}

Just upgraded to Oreo today and the notification is not displayed. However, the controls are working in my headset fine.

Using this work it works

@riccardoSocialcities not working in android version 8.0.0 or above using cordova-music-controls-plugin. In other version work fine but In android version 8.0.0 or above not working. Can you help me to out here?

@amanpatel1449 i got it working using a fork made by @amitkhare (https://github.com/amitkhare/cordova-music-controls-plugin).

@riccardoSocialcities please,How can i add plugin from fork repository with npm ?

cordova plugin add https://github.com/amitkhare/cordova-music-controls-plugin.git --sa
ve
PS: after you do that, remove the "git+" that gets added to the config.xml and package.json files

@neoassyrian @amanpatel1449  woks now with android 8 thanks for your helping.

Thank you so much......... @neoassyrian
You are great.
Now it's work in android 8.0.0 Thank you again for your help.

@neoassyrian
Is there any way I can redesign music control in notification tray?

I think you can have your own ones. Check the README file. The files should be in the Resources folder.
I havn't actually done that, and would like to know more.
I would suggest you open a new issue post about it.

Hi everyone,
I have tried both homerours and amitkhare cordova-music-controls-plugin but there is no way to make it works on android 8.0.0 ( tested on HOMTOM S99 ).
Both versions work without problem on android 7.1.2 ( tested on Samsung MEGA with Resurrection Remix )
I tried to force rebuild the apk, rm/add the plugin, also manually :(
What else should I try?
Thanks

@kaiohken1982  make sure remove plugin and package
ionic cordova plugin remove
npm uninstall --save @ionic-native/
then install this repository
link

Yes, fully remove the plugin with both npm and cordova command did the trick.
After reinstalling ( always with both npm and cordova ) the compiled app works also with android oreo.
Thank you @AmrAlmagic for your advice.
Cheers

Tank you, so so so ... @riccardoSocialcities @neoassyrian and @AmrAlmagic

i am facing the same issue with android 14 and target sdk 34. Does anyone have a solution?


added instructions how to install Julia

It's not only the quotes, but also the position of the closing parenthesis: "(before installing the dependencies), ..." instead of (before installing the dependencies, ..."

cheers man, I'd be a crap newspaper editor :grin:

:smile: another small thing: technically by downloading the tarball we are not "installing from source" but rather downloading the official executable ...

added small changes and specified that R dependences should be installed before Julia dependences as described in #1180

Should these doc updates go also in the sphinx documentation ?

cheers @jhardenberg :beer:
The install.rst in the sphinx dox is pretty bare bones - we can fluff it up in a new dox-specific PR or we can leave it like that, I am ok with either, I reckon users will read the mark-down doc in the first place anyway -> Jost and @bouweandela what say you guys?


[feature] Add countries to block like North Korea, Russia, etc.

Hi @AngelTs hosts files map domains to ip addresses.  Wildcards, and range of IPs, are not supported in standard hosts mechanisms.
Closing.


Make output of SchemaClassScanner available programatically

I'm using code generation to extend a schema with various functionality, which may cause certain types to be generated, only to end up not being used.
The SchemaClassScanner will issue warnings for this.
It would be nice to be able to obtain the list of unused types instead of just getting them in the logs, so I can act upon those warnings.

Where would you want that information available?

I'm using the SchemaParser to get a TypeDefinitionRegistry to inspect and put new types in.
If I could somehow just obtain that list of unused types at the end of my process through an invocation of a function, that'd be perfect -- whether that should be on the SchemaClassScanner or some other method on another class, really doesn't matter to me -- I have a feeling you might have a better view on where such functionality should reside in your library?

I exposed them as SchemaParser.getUnusedDefinitions(). Seems to be the easiest way to add this.


Twitter and Github logo icons are broken in footer

In the footer, the Github and Twitter icons are just showing up as an X in a box.

Thanks @misaugstad. Too bad Twitter is now actually an X. 😂
#elonruinedtwitter


Example: Deploying PHP Guestbook application with Redis: Missing deployment labels

In the tutorial Example: Deploying PHP Guestbook application with Redis, the cleanup section tells the user to run the commands:
kubectl delete deployment -l app=redis
kubectl delete deployment -l app=guestbook

This however requires the deployments to have these labels set inside the deployment yaml files. The commands currently result in:

kubectl delete deployment -l app=redis
No resources found

/assign @steveperry-53

good catch!
/lgtm

/approve


How to enable polling?

I trying to run react-boilerplate on windows docker (inotify doesn't work yet) and I need some help with
enabling polling

Hey there, looks like this isn't an issue with react-boilerplate. If you're looking for help, check out StackOverflow and post your question there.


Fixing DEPRECATION WARNING: config.static_cache_control

Swapped out for config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' } instead.

Thanks for merging! Also feel free to squish my commits if it makes for a cleaner history :)


GH-43769: [Java] Pin Java JNI CI build to llvm 16

Rationale for this change
ORC does not support LLVM 17+ yet.
What changes are included in this PR?

Pin llvm to v16 for the java-jni-manylinux_build job

Are these changes tested?
CI
Are there any user-facing changes?
No

GitHub Issue: #43769

I'm a bit confused: is it ORC or Gandiva?

From my limited understanding, its ORC that's broken with LLVM 17, but this ORC feature is only used by the Arrow Java Gandiva module. Here's the LLVM issue I was reviewing: https://github.com/llvm/llvm-project/issues/74671

In this context, "ORC" is not "Apache ORC".
"ORC" is a JIT API in LLVM: https://llvm.org/docs/ORCv2.html
ORC JIT can work with LLVM 17+ but it requires that the main process (java in this case) exports some ORC JIT symbols such as llvm_orc_registerEHFrameSectionWrapper globally.
To do this, we have some approaches:

Use LD_PRELOAD=/.../libLLVM-XX.so java ... (or something)
Use RTLD_GLOBAL not RTLD_LOCAL (this is the default) for dlopen(libgandiva_jni.so')`
Remove the restriction in LLVM

See also: https://github.com/apache/arrow/issues/39695#issuecomment-1912186637
If we can't do any of them, we need to pin LLVM 16-. But it's just a workaround because LLVM 16- will reach EOL eventually.

I think that we need to create a port for LLVM 16 by ourselves to pin LLVM  to 16.
Because vcpkg can provide only one LLVM version at a time. We can't reuse the official LLVM port that is for LLVM 18 now.
Or we can use old vcpkg that uses LLVM 16-. But it will have other problems because other dependencies such as aws-sdk-cpp  are also downgraded...

Thank you @kou. I'll close this in favor of fixing properly. I'll repost your comment on the issue so the context is not lost.


[BUG] in-place updating of array slice with broadcasting

This was a bug in MLX core that I think got inherited in MLX Swift.
The following should work rather than throwing a broadcast error:
import MLX
let a = MLXArray.ones([2,6,6,6])
let b = MLXArray.zeros([3,4,4,4])
b[0,0..<4, 3, 0..<4] = a[0, 1..<5, 5, 1..<5]

Corresponding PR in MLX: https://github.com/ml-explore/mlx/pull/1035
Corresponding issue in MLX: https://github.com/ml-explore/mlx/issues/1050

While preparing the change I ran into this: https://github.com/ml-explore/mlx/issues/1052

Closing per #78


GYP ERR during installation

Whenever I try to install the package, I get the following error:
--libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli   'C:\\Projects\\project\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Projects\project\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Projects\project\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Projects\project\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Projects\project\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Projects\project\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Projects\project\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Projects\project\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Projects\project\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Projects\project\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Projects\project\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Projects\project\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Projects\project\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python C:\Python39\python.EXE
gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Python39\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                       ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (node:child_process:397:12)
gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
gyp ERR! stack     at maybeClose (node:internal/child_process:1064:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
gyp ERR! System Windows_NT 10.0.19045
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Projects\\project\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Projects\project\node_modules\node-sass
gyp ERR! node -v v16.13.2

I've read the issue is related to not having python 2.7 installed, but wouldn't I be stuck with the same error if I eventually move to production unless I specifically have python 2.7 installed on the server?

@El-Potato-Slayer python is not installed in your system. Node requires python in backend. Closing this issue. Feel free to reopen if not solved.

Why does it require Python 2 though? It's not installed anymore by default on Linux.

node uses python 2 internally.


Fix #378 - enforces-shorthand does not work for h- & w- when prefixed

Fixes #378

[x] Bug fix (non-breaking change which fixes an issue)

Hey @francoismassart would you be so kind to merge and publish this? It is a simple fix to make the enforces-shorthand work also when using prefix. Right now it only works for the overflow but not for size.


Need to evaluate CDH5.2

With all the work and testing we have done this is now done. We will merge the CDH5 branch next week.


Add xfixes to the libraries detected via pkg-config

Without it, Nix and other distributions with non-standard library storage will not be able to compile.
Tested and confirmed working on NixOS 22.11.

This is a Nix packaging bug:
https://github.com/godotengine/godot/issues/59913#issuecomment-1109438738
https://github.com/NixOS/nixpkgs/issues/172748
I would prefer not to add check that shouldn't be necessary just to work around an issue on a single distro. Godot doesn't use Xfixes - Xinput2 does, and it's there the responsibility of the xi.pc file to properly define the Cflags for the distro.

I'm going to keep that as a patch to apply before building for NixOS then. Thanks for the info.

Well all things considered, while I think Nix should fix their packaging, it doesn't hurt us to add an explicit dependency on xfixes for the time being (which could be removed if Xi happens to remove their own dependency on a Xfixes header, which is pretty hacky IMO - that's the main reason I'm reluctant).
I'd suggest doing it this way. We don't need --libs as we're not using any symbol from the Xfixes library, it's only using a header. And it's part of the Xi dependency so I would put it under it:
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
index 3f713d2db3..7825655915 100644
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
@@ -408,6 +408,8 @@ def configure(env: "Environment"):
                 print("Error: Xi library not found. Aborting.")
                 sys.exit(255)
             env.ParseConfig("pkg-config xi --cflags --libs")
+            # xi uses a xfixes header, needed to fix build on NixOS.
+            env.ParseConfig("pkg-config xfixes --cflags")
         env.Append(CPPDEFINES=["X11_ENABLED"])

     if env["vulkan"]:


Move to LLVM 12

Fixes #2
@folkertdev let me know if this works for you. I'll merge it after that.

Oh excellent! Just one warning that is treated as an error
/home/folkertdev/roc/debugir/DebugIR.cpp: In member function ‘llvm::DIScope* {anonymous}::DIUpdater::getBlockScope(llvm::DIScope*, const llvm::BasicBlock*)’:
/home/folkertdev/roc/debugir/DebugIR.cpp:299:21: error: unused variable ‘F’ [-Werror=unused-variable]
  299 |     const Function *F = B->getParent();
      |                     ^
cc1plus: all warnings being treated as errors

When I fix this (or ignore it), it builds/links just fine and works as expected. Thanks for the quick turnaround!
For a future reader (likely me), here is how to set the llvm install dir explicitly
set(LLVM_DIR /home/folkertdev/Downloads/clang+llvm-12.0.0-x86_64-linux-gnu-ubuntu-20.04/lib/cmake/llvm)
find_package(LLVM 12 REQUIRED CONFIG)

Oh excellent! Just one warning that is treated as an error
/home/folkertdev/roc/debugir/DebugIR.cpp: In member function ‘llvm::DIScope* {anonymous}::DIUpdater::getBlockScope(llvm::DIScope*, const llvm::BasicBlock*)’:
/home/folkertdev/roc/debugir/DebugIR.cpp:299:21: error: unused variable ‘F’ [-Werror=unused-variable]
  299 |     const Function *F = B->getParent();
      |                     ^
cc1plus: all warnings being treated as errors

When I fix this (or ignore it), it builds/links just fine and works as expected. Thanks for the quick turnaround!
For a future reader (likely me), here is how to set the llvm install dir explicitly
set(LLVM_DIR /home/folkertdev/Downloads/clang+llvm-12.0.0-x86_64-linux-gnu-ubuntu-20.04/lib/cmake/llvm)
find_package(LLVM 12 REQUIRED CONFIG)

You're welcome. I've fixed the warning/error. I was on a debug build and didn't encounter this earlier.

For a future reader (likely me), here is how to set the llvm install dir explicitly

You don't need to make modifications to the source. You can just pass -DLLVM_DIR=/... to CMake on the command line.


请问这个可以嵌入django吗

开发运维平台，遇到webssh这个难题，如果可以嵌入，请问如何操作？万分感谢

Take a look at this project https://github.com/hequan2017/autoops, maybe helpful for you.

thanks  a lot ~~~,I ve made it,hah


Synchronously single port scan setTimeOutMillis does not work

I am trying to scan a single port synchronously with:
ArrayList<Integer> openPorts = PortScan
                        .onAddress("address")
                        .setTimeOutMillis(1000)
                        .setPort(4000)
                        .doScan();

If the port to scan is closed/down this call hangs for multiple minutes and does not time out after 1000ms like expected.
Version: 0.2.1

Awesome work, just merged it in. Thanks @geckogecko


[Concurrency] Isolation of ObjC declarations is preconcurrency by def…

…ault
Such declarations don't have an explicit attribute to indicate that they are @preconcurrency but default isolation as determined by ActorIsolationRequest should mark them as such regardless.
Resolves: rdar://130776220

@swift-ci please test


Current version of esbenp.prettier-vscode is broken.

Logs using oni -f --debug .:

Content of the referenced file:
["INFO" - 9:27:22 AM] Extension Name: esbenp.prettier-vscode.
["INFO" - 9:27:22 AM] Extension Version: 8.1.0.

I tried different versions of the extension

7.1.0
6.3.1
8.1.0

None worked. So maybe it's not related to the extension host 🤔

Full Log with only prettier extension: https://gist.github.com/despairblue/8f56b3cd56d4caca3cf0357bf91e95fc

9.0.0 works again.


connection is lost.

can't keep alive conection..

Will take a look on this. Do you have the code to reproduce the problem?

i see every few seconds whatsapp pings "?,," . to keep the connection alive

async def keepAlive(self, interval):
    current = datetime.datetime.now()
    if int(current.strftime("%S")) == self.timeLoop:
        if self.websocket is not None:
            await self.websocket.send('?,,')
            print("KEEP ALIVE..")
            greeting = await self.websocket.recv()
            print(f"< {greeting}")
            sec = current + datetime.timedelta(seconds = interval)
            self.timeLoop =  int(sec.strftime("%S"))
    if not self.timeLoop:
        sec = current + datetime.timedelta(seconds = interval)
        self.timeLoop =  int(sec.strftime("%S"))

def _start_receiver(self) -> None:
    async def receiver():
        while True:
            await self.keepAlive(self.interval)
            if not self.websocket or not self.websocket.open:
                logger.debug("receiver returned: no ws/connection closed")
                return

            if not self.websocket.messages or self.websocket.closed:
                await asyncio.sleep(0)
                continue

            raw_message = self.websocket.messages.pop()
            try:
                message = WebsocketMessage.unserialize(
                    raw_message, self.get_keys())
            except Exception as exc:  # pylint: disable=broad-except
                logger.warning("Ignored error decoding message: %s", exc)
                await asyncio.sleep(0)
                continue

            if message:
                logger.debug("Received WS message with tag %s",
                             message.tag)
                #print("MESSAGE : ", message.data)
                self.messages.add(message.tag, message.data)

    self.loopCon = asyncio.ensure_future(receiver())
    logger.debug("Executed receiver coroutine")

still disconnected...

i see every few seconds whatsapp pings "?,," . to keep the connection alive
What software did you use to analyze the websocket traffic? I think I am interested to use that one too.

Your keep alive code is similar https://github.com/Rhymen/go-whatsapp/blob/c58e164e05b80aeaa6c96752c0ce5f8ec5174d40/write.go#L101
I am still not sure what causes this behavior. Let me ponder it for a moment.

To fix this you must use the solution given by @chalyyzhu  but also must set the ping timeout and close timeout to none on socket connection. WhatsApp dont use ping-pong to keep the connection alive.
self.websocket = await websockets.connect(constants.WEBSOCKET_URI, origin=constants.WEBSOCKET_ORIGIN, close_timeout = None,ping_interval = None)
Currently it's working for me.

Solved with #21


Exception message consistency improved

Errors thrown by cartoRenderer were not caught, therefore the errors didn't have a common prefix (compared to other tangram-cartocss exceptions).

:es:


test:1 Uncaught TypeError: Failed to resolve module specifier "#app/config". Relative references must start with either "/", "./", or "../".

Environment
Operating System: Linux

Node Version:     v18.17.0
Nuxt Version:     3.9.3
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, modules, anime
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://github.com/gregorycatteau/scicmcommemedoc.git
Describe the bug
When typing npm run dev, app is launching but fails to run properly and I get this message in the console : test:1 Uncaught TypeError: Failed to resolve module specifier "#app/config". Relative references must start with either "/", "./", or "../".
Additional context
Tried with firefox who indicates that problem seems to come from .nuxt/app.config.mjs
Logs
No response

I can't access that repository. Maybe it's still private?

I cannot reproduce when cloning and running locally. Does it reproduce with a fresh clone of that repository for you?


[ME-1] Fixes ARKit point cloud bug

I've left a comment explaining the change and how the fix works. Here's the tl;dr

We use ARKit's rawFeaturePoints (which is intended for debugging) to show the user that we're loading the ARKit scene (ie: that ARKit is mapping the world).
In iOS 13, this "point cloud" started including points that were really close to the camera. I asked around but no one else has been seeing this behaviour. Here's what it looked like:

screenshot of ARKit session start

The docs say that this point cloud isn't stable between versions, so I think iOS is just adding extra points really early in the AR session (they go away after a few seconds, by which time we no longer want to show the point cloud anyway).
The best solution is to compute the distance from each point to the camera and filter out any that are <20cm away. There are still a few points that seem further from the floor than they should be, but they're far enough away from the camera to not look bad or obscure the actual point cloud.

Open to feedback on this!

Fails

:no_entry_sign:
The CHANGELOG is not valid YML

  Generated by :no_entry_sign: Danger Swift against 37e5975f8012b7bc9ef0c1131063e096e01a6780


[build-script] Don't set env variables when using lldb-dotest

We already configure lldb-dotest with the swift compiler. This patch
does the same for the path to the swift libraries.
Depends on https://github.com/apple/swift-lldb/pull/434

@swift-ci please test

@swift-ci smoke test


chore: Install packages using UV; Be explicit within Makefiles

Subset of uv installation from #1211
Require users to use .venv folder and not venv.
By using uv to install, GHA install time is reduced from ~90s to ~25s.
Q:

[ ] Should we auto remove the legacy venv folder? Present a message? Do nothing?
[ ] Should we instead make uv leverage venv folder (and not .venv by default)?

As much as I like this PR, it requires that the user has a .venv folder. While this is automatically handled, it is too opinionated for a public usage repo (where as it would be fine for the website).
Closing as https://github.com/posit-dev/py-shiny/pull/1565 contains a good middle ground solution of using uv on CI, but not requiring users to have uv or use uv's .venv.


Most Popular

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #17
Test URLs:

Before: https://main--sling--aemsites.aem.live/whatson/international/arabic/murdi-w-daham-ar
After: https://popular--sling--aemsites.aem.live/whatson/international/arabic/murdi-w-daham-ar
Before:https://main--sling--aemsites.aem.live/whatson/sports/nba/stream-nba-play-in-games-live
After:https://popular--sling--aemsites.aem.live/whatson/sports/nba/stream-nba-play-in-games-live

Here are some things I am noticing compared to their live page.
Mobile:

Above 768px
The scrollbar is showing at the bottom of the page, not on the carousel.

General:


feat: add a script that helps to create prs for docs

Adding a make-prs script to help create PRs for different chapters/branches in this repo.
The make-prs.py script (which only exists in the main branch) does the following:

Get the diff from a PR;
find out which chapter that PR is about;
create branches (in your forked repo), merge the diff into all following chapters, commit, and push;
create PRs to the upstream.

See the PoC and discussions here.

I have replied to above comments and resolved some of it, merging now. Thanks!


修复兼容问题和前端较大几率获取错误目录问题

更改临时工作目录至路径user.dir->>jexpose下
增加1条目的临时目录清空
更改zip解压压缩方法,关闭线程等待
更改文件写入方法为cn.hutool
删除耗时打印(前端偶尔出现out dir 和 耗时合并,导致前端目录无法正常识别)
调整目录结构为java-maven结构

Thank you for this PR.
Please provide more detail about these questions:

What's the reason for changing the path of temporary directory, what are the benefits it brings?
What's the reason for using cn.hutool package, I don't think a synchronous waiting at here is a bug. However, using another package just waiting in another form.
The comment is obscure, I don't know how was the frontend interrupted by the just one line output only it's different is starting with elapsed


[Web UI bug] System resources tab display wrong data

3.4.5, RocksDB, single mode.
The display value of memory is 10 times the actual value.

Hi,
whats the host? (os)  i.e. on my local physical debian machine the value written is correct...

Local physical machine, centos7


Ensure CLC and search are cleaned up before deleting MCH

Issue: https://github.com/stolostron/backlog/issues/25587
Signed-off-by: Jakob Gray<EMAIL_ADDRESS>

/lgtm


Enable parallel compilation at the project level under MSVC

On my i7-6700HQ (8 cores, hyperthreading) this drops full debug x64 builds from 116 seconds to 88 seconds.

Travis is cray. You can ignore that, we are working on the Travis component now.
What will this do when makefiles are generated instead of Visual Studio solution files? This might need to go in an if (WIN32) check or something.

I just tested with a Makefile and it's correctly ignored. Particularly, the CXX_COMPILER_ID matches on MSVC so the compiler flag /MP should only apply when generating for Visual Studio.
I'm not a CMake expert, but it seems this might be the preferred approach when applying the option to all projects (under a specific compiler). I opted to go this route vs specifying /MP in each project.

Ok, that's good to know. Thank you for your contribution!


[CLOSED] Use floating point instead of int for dragging windows

 Issue by Philipp-M
Sunday Feb 01, 2015 at 17:23 GMT
Originally opened as https://github.com/Cloudef/wlc/issues/4

Hey there, nice project.
Looks quite nice already(loliwm)
I was just playing around a little bit with it, and found an issue while moving a window. If moving the cursor slowly while dragging a window, it wont move(I think because delta values under 0 are cut to 0), also after moving a window a lot, the cursor seems to go other ways than the window, it kinda drifts away. My experience says, that it is a float to int typecast issue(had some similar issues playing with touch and android).

 Comment by Cloudef
Sunday Feb 01, 2015 at 21:29 GMT

Good point. I already fixed similar issue with subpixel mouse movement.
I should do the same here as well.
(And yes, it is fixed point issue, since velocities from pointer are floating point)
Btw, unless you develop with wlc, open future issues in loliwm project.


Investigate and resolve the cause for high-sampling rate issues with GPS module.

Testing has shown that high sampling rates of the GPS receiver cause the cessation of new fixes (and GPS date, and other data from the satellites).

// Very unacceptable.

Is the library in-use the sole cause?

If so, how can we mitigate?

Is is because high sampling rates may cause us to fail to completely read NMEA sentences?

If so, can we increase data rate at any bottlenecks?
Where are the bottlenecks?

Nolan, what baud rate are you generating the output above?  Is it possible that the very act of printing out all that data is consuming most of your processor bandwidth?

Ah, yes, I see from the commit that you are talking at 9600 baud, which means that the typical line (153 characters) takes about 153 char * (10 bits/char) / 9600 bps = nearly 1/6 of a second just to print the line.
Assuming you are using TinyGPS++, check the .failedChecksum() counter to see if you simply can't keep up.
Some GPS modules allow you to disable NMEA sentences you aren't interested.  I use that feature on our balloon flights.

Hi Mikal, I appreciate your input on this.
That was my first thought. However, the designer of the prototyping board we were using (Teensy 3.6) comments on this thread, “When using Teensy's USB Serial, the actual baud rate is always 12 Mbit/sec, regardless of what baud rate you configure”. That led me to believe something else was at play.
In any case, the serial output may be a significant concern, and further testing like this should probably only output very lightweight information.

Hmm.. I'm using a Teensy in my latest project with no problem, but it's only a 1Hz (Ultimate GPS) module.  Is yours perhaps 5Hz or 10Hz?  It should be easy enough to time how long printing that stuff takes: just display "millis" (or equivalent) before and after.


⚠ Thumbnails API Endpoint has degraded performance

In 4fe439f, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 1559 ms

Resolved: Thumbnails API Endpoint performance has improved in 41023c1 after 15 minutes.


Grand Exchange tracker - Completion bar is off

It seems that the completion bar in the GE tracker plugin is not showing the appropriate proportion of items bought. (probably sold ones too.)

Isn't that 1193 left out of 1500? The bar looks correct to me if that is the case.

If I'm correct, I was about 300 jars off from the 1500 offer I placed and not the other way around.

Has this been fixed in the new UI? I've not heard of any similar issues since the redesign.

Yes, it looks like it has been fixed with the new UI.


Doc strings don't work on enum variants with derive_serde macro

I've run into an issue where I can't add doc strings to enum variants that will use derive_serde.
#[derive_serde]
pub enum Building {
    /// Able to construct different items. The workshop should be a building
    /// that all players either start with or want to invest in on their first
    /// few turns.
    Workshop,
    /// The production mill can mine various different resources. There should
    /// be some generic resources that we're familiar with, then some scifi
    /// resources.
    ProductionMill,
    /// The pub allows players to recruit new mercenaries for various missions.
    Pub,
}

The error that comes up is
custom attribute panicked
message: Unnamed variants are not supported

This makes sense, since digging into the parser shows:
let variant_name = next_ident(&mut body).expect("Unnamed variants are not supported");

where next_ident presumably returns none on anything that's not an ident:
pub fn next_ident(source: &mut Peekable<impl Iterator<Item = TokenTree>>) -> Option<String> {
    if let Some(TokenTree::Ident(ident)) = source.peek() {
        let ident = format!("{}", ident);
        source.next();
        Some(ident)
    } else {
        None
    }
}

Hi AngelOnFira, thank you for the bug report :) I will look into this


refactor: split consensus crate

moves beacon consensus to its own crate.
This way additional consensus impls can be separate crates instead.

fyi, a lot of validations that are left in consensus crate are beacon related/exclusive


Test against tensorflow 2.2 release candidate 0

Validating whether we're likely to be broken by the upcoming release.

It does break: #1078


Initial template

Cluster API provider for IBM Cloud initial groundwork

@gsrajpal Just a suggestion, but you may want to adhere to the Kubernetes commit guidelines found here: https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#use-imperative-mood-in-your-commit-message-subject I'm not perfect at following it to the T, but it's a noble cause.

@BobbyRadford Thanks for pointing me to that. I use to use the Present tense with all my commits, but the other teams I have been part of in the past used past tense, So I got in a habit of that.
I don't know which one is the best -- both works for me. Will adapt to k8s guidelines now.


Striped Rows Text

On the new Striped Budget Rows feature in the settings, it's labeled as "Stripped" instead of "Striped Row".

Hey @jmbturtle the fix for this should be in our current release! If you notice the issue still exists and you're definitely running the newest version of the toolkit, please reopen! Thanks!
Please note, all browser can take up to an hour to provide updates to all users. You can force an update if it's available for you by going to chrome://extensions and clicking the "Update" button. Firefox users can go to about:addons, click the setting cog, and click "Check for updates...".


feat: sync all experiences with shared components

What changed? Why?

add useGuideScroll to share scrolling behavior across all guides
add various text components for guides
sync layout for all experiences
fix font. Now global font is Inter

Notes to reviewers
How has it been tested?
locally

@kyhyco actually, let's not merge this until the Build, Link and Format is green.


Refactoring splash screen to home view

This change is

Btw the code gives me this warning:
[Vue warn]: Unknown custom element: <v-card-action> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <ConnectDialog> at src/components/ConnectDialog.vue
       <Home> at src/views/Home.vue
         <VContent>
           <VApp>
             <App> at src/App.vue
               <Root>

Good job, looks good to me overall. Only one thing that should be changed:
On mobile, the disclaimer text should be nearly full width instead of how it is right now:

keep in mind that in vuetify 2 cols is the xs so you have to do cols="12" for mobile and change the bigger screens accordingly


Crash debug logging using loglevel library

Added config parameter to tweak log level to help in crash scenarios.

Tested myself these for already 2 weeks at least. So far no issues.

Yeah, I think it just automatically updated the lockfile version when I did npm install . Don't think it changes node version compatibility. I think it's fine to just have people use the newer version of npm.


xDSCWebService documentation needs update for AllowUnencryptedTraffic

While setting up Pull Server, if the user does not want to set up SSL, they can specify "AllowUnencryptedTraffic" as the value for the certificate thumbprint parameter. This information needs to be documented in the sample.

The description in the MOF and the readme should be updated


[FLINK-31214][python] Add support for new cli option -py.pythonpath

What is the purpose of the change
Add support for new cli option -py.pythonpath. this config will point to path on the instances where python is installed.
Verifying changes
covered in UT
Brief change log

-pypythonPath for command line option.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no) no
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no) yes
The serializers: (yes / no / don't know) no
The runtime per-record code paths (performance sensitive): (yes / no / don't know) no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know) no
The S3 file system connector: (yes / no / don't know) no

Documentation

Does this pull request introduce a new feature? (yes / no) no
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented) no

thanks for reviewing the changes. i have made changes as per previous review comments.  can you please review whenever time .
@dannycranmer


Reddit dataset seems to not be showing the full comment

I had finished downloading the reddit data and I can view them using the tfrutil.py module provided pretty nicely. The problem I'm encountering is that a lot of the comments seem to be cut off abruptly. For example:

Example 3
[Context]:
Quite a bit according to reddits own gold statistics.
 Goddamn it.  You win the day fine sir.
Extra Contexts:
[context/0]:
I would like to know how much was spent on Reddit gold for people posting a Rick Roll. I bet it's way more than $12 (though to

Example 6
[Context]:
Rather you're rewarded for planning ahead because you don't have a crutch "save me" button.
[Response]:
Not like DBM will tell you when things are coming..
Extra Contexts:
[context/7]:
Warriors on suicide watch \n \n (I don't mind the gcd change on hunters actually. And the two ranged specs seem decent. Survival
[context/6]:
The Disengage on GCD is worse than any of the warriors spells.\n \n People made up stupid builds to show how you could go at
[context/5]:
I dunno, I got used to the disengage change pretty quick. It was annoying at first, mostly because you feel forced to stop
[context/4]:
Defensive abilities should be reactive and putting them locked because you're doing something else hurts the gameplay.\n \n
[context/3]:
To be fair Disengage isn't a purely defensive spell. I use disengage offensively all the time as a survival hunter, even as MM
[context/2]:
But you also use it to dodge problematic stuff while you're DPSing.
[context/1]:
Which is why it has reduced gcd
[context/0]:
But you're still penalized for playing to the best of your class.

As you can see, the comments seem to just be cut off like "(though to" and ". Survival", etc. As I'm using this data for what's intended for -- conversations, this could be pretty detrimental to the performance of the model since the continuation doesn't make sense. Any thoughts on this?
Thanks
edit: These examples are pulled from test-00001-of-00100.tfrecords if it helps. I don't know if your train-test splitting is random for everyone.

Thanks for the interest! This is expected. From the Reddit README:

Further back contexts, from the comment's parent's parent etc., are stored as extra context features. Their texts are trimmed to be at most 128 characters in length, without splitting apart words. This helps to bound the size of an individual example.

The response and context features are filtered to guarantee a maximum character length, but the further back ones are trimmed to guarantee the maximum length. This means the context and response are always full comments but further back ones might not be.
You can tweak this using the max_length flag, which also controls the filtering for the response and context features. You could add a flag to do no trimming. But note any changes to the defaults would make comparisons to the benchmarks invalid.
And the train test split is the same for everyone, though the sharding isn't.

I see. I'm just curious: were the extra contexts used to get the benchmarks then?

From BENCHMARKS.md

All the results are for models using only the context feature to select the correct response. Models using extra contexts are not reported here (yet).


Error in "Go to shell" action in the Repo

Description
"Go to shell" Action from the repo action menu is producing an error.
Sequence

Create a repo
Creata a BP and Execute it
Press on "Go to Shell" from the drop down menu

Actual Result"

Apparently that method isn't defined yet?

We need to remove this from the UI for for now

Not implemented  yet. Also the one in Simulate.

@zaibon thanks for checking #107 again since your fix didn't make it to my update


Netdirect

Please fill the following out:

Name: Netdirect
Homepage url: http://www.netdirect.cz
Brand Guidelines/Licensing: (or anything we need to know before using your logo)
Logo: (svg if possible, pngs over 500x200px with transparent backgrounds are also acceptable)

Example:
Name: Microsoft
Homepage url: https://microsoft.com
Brand Guidelines/Licensing: https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/logo.aspx
Logo: https://news.microsoft.com/microsoft-news-center-photos/msft_logo_rgb_c-gray/

@karolinaneumannova you haven't provided a logo. Can you please do so so that we can add it to our website?

Duplicate of https://github.com/Microsoft/TypeScript/issues/18684


Add proof of data availability to Coda PoS protocol functor

Include a proof that the staker has the current ledger:
concat[vrf, epoch, slot, epoch_ledger_root] -> random [L,R] merkle path -> show knowledge of merkle path and that the implied root matches ledger_root
note: take random path in [0, max_nonempty_index]

I don't believe this is necessary for now.


config parameter does not work

Expected Behavior
python pokecli.py foo/bar/config.yml

Loads config from given path if available otherwise throws error complaining about none existent file.
Actual Behavior
python pokecli.py foo/bar/config.yml

Throws some out of range index error.
Steps to Reproduce
run
python pokecli.py foo/bar/config.yml

Other Information
OS: CentOS
Git Commit: 039613290cd859cd88ee822b8da181b4aba5efd6

Please post the stack trace here.

preparing pull request..

Fixed in #270


Add TLS support for trunk serve

Cherry-picked the change from @lukaselmer. Gonna verify it with a project I am working on.
Closes https://github.com/ctron/trunk/issues/4

Add TLS support for trunk serve

Use clippy, improve error handling

Improve tls example

Rename TLS options, improve path resolution

Move Rustls config parsing into rt.rs

# Conflicts:
#	CHANGELOG.md
#	Cargo.lock
#	Cargo.toml
#	Trunk.toml
#	src/config/models.rs
#	src/config/rt.rs
#	src/serve.rs

@ctron Works good on my end!

Lints should also be fixed now.

Aah, one thing is annoying. When performing a build, the Trunk.toml config is parsed and validated the same way as when running the serve command. In the nature of this change though: Users will probably generate their own certificates, with each user using its own certificate authority. In my project, the certs dir only contains a .gitkeep. Certs would not get commited. When running build inside a pipeline, no certs would be present then and the build aborts because the files referenced inside Trunk.toml could not be found... Quick pipeline-based fix would be
sed -i '/tls_cert_path/d' "./Trunk.toml"
sed -i '/tls_key_path/d' "./Trunk.toml"

but that should never be necessary. I think Trunk should actually ignore the tls configuration when not performing a serve. But that would require some conditional configuration evaluation, which is not currently there as it seems..

But the certificates are only present in the serve configuration, does that really effect any other command?

Ok, just tried it out. It's really causing an error.

I think the issue comes from the fact that it tries to canonicalize the paths during reading the configuration. I am not sure that's a necessary step though. Just using the path as is should work fine.

I noticed that the paths get actually canonicalized twice. First when parsing the configuration (in any case), second when starting the server (serve only). TBH, I am not convinced it is necessary in either case. But it gives a better error message when files are missing.
However, I think it's enough to do this when starting the serve command only. I made that change and it looks good to me. Maybe you can double check.


example config llama-2/lora.yml fails when load_in_8bit is set to False

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
I am inside the docker winglian/axolotl:main-py3.10-cu118-2.0.1 container. GPUs are visible with torch.cuda.device_count()
I start with the examples/llama-2/lora.yml config file. I am able to run it.
I want to do full fine-tuning and so I change load_in_8bit to false. I am able to train the model.
Current behaviour
Currently, the training fails with the following error:
                           dP            dP   dP
                           88            88   88
.d8888b. dP.  .dP .d8888b. 88 .d8888b. d8888P 88
88'  `88  `8bd8'  88'  `88 88 88'  `88   88   88
88.  .88  .d88b.  88.  .88 88 88.  .88   88   88
`88888P8 dP'  `dP `88888P' dP `88888P'   dP   dP

[2023-08-22 01:11:11,159] [WARNING] [axolotl.validate_config:120] [PID:142] We recommend setting `load_in_8bit: true` for LORA finetuning
[2023-08-22 01:11:11,160] [INFO] [axolotl.normalize_config:65] [PID:142] GPU memory usage baseline: 0.000GB (+1.281GB misc)
[2023-08-22 01:11:11,160] [INFO] [axolotl.scripts.train:189] [PID:142] loading tokenizer... meta-llama/Llama-2-7b-hf
[2023-08-22 01:11:11,773] [DEBUG] [axolotl.load_tokenizer:63] [PID:142] EOS: 2 / </s>
[2023-08-22 01:11:11,773] [DEBUG] [axolotl.load_tokenizer:64] [PID:142] BOS: 1 / <s>
[2023-08-22 01:11:11,773] [DEBUG] [axolotl.load_tokenizer:65] [PID:142] PAD: 0 / [PAD]
[2023-08-22 01:11:11,773] [DEBUG] [axolotl.load_tokenizer:66] [PID:142] UNK: 0 / <unk>
[2023-08-22 01:11:11,776] [INFO] [axolotl.load_tokenized_prepared_datasets:122] [PID:142] Loading prepared dataset from disk at last_run_prepared/ad149256d2226c66eef84cba1806c06f...
[2023-08-22 01:11:11,782] [INFO] [axolotl.load_tokenized_prepared_datasets:124] [PID:142] Prepared dataset loaded from disk...
Filter (num_proc=96): 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1980/1980 [00:01<00:00, 1533.47 examples/s]Filter (num_proc=20): 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 42.22 examples/s]Map (num_proc=96): 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1980/1980 [00:00<00:00, 3432.67 examples/s]Map (num_proc=20): 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 97.78 examples/s][2023-08-22 01:11:18,931] [INFO] [axolotl.calculate_total_num_steps:304] [PID:142] calculating total_num_tokens
[2023-08-22 01:11:18,936] [INFO] [axolotl.calculate_total_num_steps:311] [PID:142] 📝 UPDATE CONFIG WITH: `total_num_tokens: 445919`
[2023-08-22 01:11:18,945] [INFO] [axolotl.utils.dataloader.generate_batches:181] [PID:142] generating packed batches
[2023-08-22 01:11:18,948] [INFO] [axolotl.utils.dataloader.generate_batches:187] [PID:142] 39895f637f2764542fc4ec0a7600a1dda209d03c18db8369ff8c61a03881d503
[2023-08-22 01:11:23,371] [INFO] [axolotl.utils.dataloader.len_w_stats:281] [PID:142] packing_efficiency_estimate: 1.0 actual packing efficiency: 0.9720262799944196
[2023-08-22 01:11:23,371] [INFO] [axolotl.utils.dataloader._len_est:250] [PID:142] packing_efficiency_estimate: 1.0 total_num_tokens per device: 445919
[2023-08-22 01:11:23,371] [INFO] [axolotl.calculate_total_num_steps:351] [PID:142] data_loader_len: 52
[2023-08-22 01:11:23,371] [INFO] [axolotl.calculate_total_num_steps:360] [PID:142] 📝 UPDATE CONFIG WITH: `sample_packing_eff_est: 0.98`
[2023-08-22 01:11:23,371] [INFO] [axolotl.calculate_total_num_steps:368] [PID:142] total_num_steps: 39
[2023-08-22 01:11:23,371] [INFO] [axolotl.scripts.train:211] [PID:142] loading model and (optionally) peft_config...
[2023-08-22 01:11:23,382] [INFO] [axolotl.load_model:105] [PID:142] patching with flash attention
[2023-08-22 01:11:23,384] [INFO] [axolotl.load_model:146] [PID:142] patching _expand_mask
Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:05<00:00,  2.78s/it][2023-08-22 01:12:23,049] [WARNING] [axolotl.load_model:342] [PID:142] increasing model.config.max_position_embeddings to 4096
[2023-08-22 01:12:23,049] [INFO] [axolotl.load_lora:488] [PID:142] found linear modules: ['q_proj', 'gate_proj', 'o_proj', 'up_proj', 'down_proj', 'k_proj', 'v_proj']
trainable params: 79,953,920 || all params: 6,818,369,536 || trainable%: 1.172625208678628
Traceback (most recent call last):
  File "/workspace/axolotl/scripts/finetune.py", line 315, in <module>
    fire.Fire(train)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/fire/core.py", line 475, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/workspace/axolotl/scripts/finetune.py", line 212, in train
    model, peft_config = load_model(cfg, tokenizer)
  File "/workspace/axolotl/src/axolotl/utils/models.py", line 409, in load_model
    log_gpu_memory_usage(LOG, "after adapters", model.device)
  File "/workspace/axolotl/src/axolotl/utils/bench.py", line 34, in log_gpu_memory_usage
    usage, cache, misc = gpu_memory_usage_all(device)
  File "/workspace/axolotl/src/axolotl/utils/bench.py", line 12, in gpu_memory_usage_all
    usage = torch.cuda.memory_allocated(device) / 1024.0**3
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/torch/cuda/memory.py", line 351, in memory_allocated
    return memory_stats(device=device).get("allocated_bytes.all.current", 0)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/torch/cuda/memory.py", line 230, in memory_stats
    stats = memory_stats_as_nested_dict(device=device)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/torch/cuda/memory.py", line 241, in memory_stats_as_nested_dict
    device = _get_device_index(device, optional=True)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/torch/cuda/_utils.py", line 32, in _get_device_index
    raise ValueError('Expected a cuda device, but got: {}'.format(device))
ValueError: Expected a cuda device, but got: cpu
Traceback (most recent call last):
  File "/root/miniconda3/envs/py3.10/bin/accelerate", line 8, in <module>
    sys.exit(main())
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/accelerate/commands/accelerate_cli.py", line 45, in main
    args.func(args)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/accelerate/commands/launch.py", line 979, in launch_command
    simple_launcher(args)
  File "/root/miniconda3/envs/py3.10/lib/python3.10/site-packages/accelerate/commands/launch.py", line 628, in simple_launcher
    raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['/root/miniconda3/envs/py3.10/bin/python', 'axolotl/scripts/finetune.py', 'axolotl/examples/llama-2/lora.yml']' returned non-zero exit status 1.

Steps to reproduce

Start docker container: winglian/axolotl:main-py3.10-cu118-2.0.1
Modify the  examples/llama-2/lora.yml config file (set load_in_8bit to false
Run fine-tuning using modified config.

Possible solution
No response
Which Operating Systems are you using?

[X] Linux
[ ] macOS
[ ] Windows

Python Version
the one in the official docker container
axolotl branch-commit
main/50682a3c068f723de154950b03c3f86bf673e688
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of axolotl.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

if you want to do a full fine tune, you should set adapter:  (remove lora)

Thank you for your answer, @winglian! And yes, sorry, I didn't express myself well.
I wanted to train with LoRA attached to a full, non-quantized model to compare against some runs I did with HF directly.
I just followed your suggestion (removed the LoRA adapter and it seems I am able to do full fine-tuning on a single 80GB A100?! I am using the adamw_torch optimizer. I didn't realize that was possible -- thought for a 7b model you always needed sharding or some sort of parallelism even with a microbatch size of 1.
And on top of that we are training here on packed examples of length up to 4096, that seems way beyond what I expected 🙂 Definitely need to study the code of the library, amazing.
Thank you very much for your answer 🙏
Mhmm BTW full fine-tuning seems to have stopped (0% volatile GPU utilization) but the training didn't crash, just seems to have frozen. Oh well, maybe the examples don't always get packed to full 4096 and just hit a particularly tricky one 🤔
Anyhow, also rechecked for the original issue I raised this bug report for -- it seems I didn't mess anything up, the problem exists when training without quantization and LoRA. Can close it though if you don't feel this is something that doesn't need to be supported, let me know please.
Extremely grateful for your help!

@radekosmulski you're probably on the very edge of what you can do with 80gb. It's usually 12x model size required of VRAM for a full finetune.

@mhenrichsen thank you very much for your comment, that is very useful to know! 🙂🙏

@radekosmulski is this resolved? Can we close it?

@mhenrichsen it is resolved in the sense that I learned something new and very useful 🙂 so I am extremely grateful for this 🙂
but fine-tuning on unquantized weights with LoRA gives the error as above (somehow the model is not getting moved to the GPU), so assuming one should be able to use LoRA without loading the model in 4 or 8 bits, this is still broken

Happens too with btlm 3b 8k (cerebras). Is it not possible to attach a LoRa to a fp16 model?

As a workaround, if you have only one GPU, you can run the script without accelerate, using only python and it should work.


Add use cases for reminders

Codecov Report
Base: 76.53% // Head: 76.46% // Decreases project coverage by -0.06% :warning:

Coverage data is based on head (1b76fce) compared to base (ab670f9).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #236      +/-   ##
============================================
- Coverage     76.53%   76.46%   -0.07%
  Complexity      790      790
============================================
  Files           108      108
  Lines          2233     2235       +2
  Branches        262      263       +1
============================================
  Hits           1709     1709
- Misses          425      426       +1
- Partials         99      100       +1

Impacted Files
Coverage Δ

...ress/logic/parser/ReminderCreateCommandParser.java
71.42% <0.00%> (-7.52%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Deprecate Broadband Speedtest Dashboard

Summary

Application Name: Broadband Speedtest Dashboard
Application Urls

Production: https://utah.maps.arcgis.com/apps/dashboards/829a7d8f5adc4d5bb283d85bf4bc9dfe

This dashboard and associated skid were intended to track the progress of the state's speedtest campaign. However, changes to the NTIA grant process and the purchase of Ookla data seems to have rendered it moot and it never got past the dev stage.
Rebecca Dilg authorized archiving the dashboard and skid in an email dated 11 July 2024. We will deprecate and unshare the dashboard and data, archive the repo, and remove the skid from GCP.
There is no grace period needed; it hasn't seen much use at all.
Action items

Assign a person who should complete the task by replacing name with their github @name.
Check [x] the box when the task is completed and add the date of completion.
~Strike~ out all items that do not apply.

[x] Target delete date (@jacobdadams, set: 2024/07/11)
~[ ] Update relevant gis.utah.gov application pages (name, completed: 2024/00/00)~
~[ ] Remove application-specific Databases (name, completed: 2024/00/00)~
~[ ] AGRC Projects team drive folder (name, completed: 2024/00/00)~
[x] Remove from Application Portfolio Management ("Business Applications" in ServiceNow) (No UGRC Business Application record for this app @nathankota, completed: 2024/07/15)
~[ ] Remove Google Analytics property (name, completed: 2024/00/00)~

Is there a website?

~[ ] Remove DNS entry (name, completed: 2024/00/00)~
[x] Archive source code repository (@jacobdadams, completed: 2024/07/11)
~[ ] Remove app-specific quad word from Discover system (name, completed: 2024/00/00)~
~[ ] Remove app-specific api key from UGRC API (name, completed: 2024/00/00)~
[ ] Remove cloud project (@steveoh, completed: 2024/00/00)
[ ] Remove terraform infrastructure (@steveoh , completed: 2024/00/00)

Choose one.

~[ ] Remove from the web server (name, completed: 2024/00/00)~
~[ ] Replace app with a static page with information (name, completed: 2024/00/00)~
~[ ] Redirect somewhere else (name, completed: 2024/00/00)~

Is there a map service or AGOL item?

[x] Unshare map, feature service (@jacobdadams, completed: 2024/07/12)
~[ ] Delete (name, completed: 2024/00/00)~
~[ ] Unregister Data Store in ArcGIS Server (name, completed: 2024/00/00)~

Are there service dependencies?

[x] Validate that the web api does not query it (@steveoh, completed: 2024/00/00)
[x] Validate that UGRC or applications do not reference it (@steveoh, completed: 2024/00/00)

Notification

~[ ] Twitter (@steveoh)~

No real need, it was never really launched anyways.

Group Task Assignments

Check [x] the box when you have assigned all the tasks relevant to your group.

[x] Data Team (@gregbunce)
[x] Dev Team (@steveoh)
[ ] Cadastre Team (@rkelson)

conductor results for tasks - 330

check
status

jacobdadams has completed 3 out of 3 tasks
:+1:

nathankota has completed 1 out of 1 tasks
:+1:

@steveoh has completed 0 out of 5 tasks
:no_entry:

gregbunce has completed 1 out of 1 tasks
:+1:

@rkelson has completed 0 out of 1 tasks
:no_entry:

This looks ready to close 🏁 .


prepare for Windows resources with resource script files

The PR from the series to enable MIGraphX on Windows.
The C++17 version of string_view does not offer string_view(It first, End last) constructor (since C++20). Therefore we use string_view(const char* s, size_type count) constructor instead.
https://en.cppreference.com/w/cpp/string/basic_string_view/basic_string_view

There seems to be a lot of unnecessary refactoring of code still in this PR. I think it would be better to strip it down to only the minimal changes needed to change it from std::pair to string_view. This will help make sure we dont break anything and will reduce churn if we merge any update to the embed.cmake file.

I only left the changes required for string_view. I will submit a separate PR for Embed.cmake refactoring - EMBED_USE_LD does not currently work on the develop branch, and I fixed it while refactoring.


Vertex really need to be a double[]?

As you know, most of 3D applications in C# are using struct for Vertex or Vector. Because it does not generate garbage at all in most cases.
However, In this situation, cannot access the member X, Y, Z with byte offset. Such as 0 for X, 1 for Y etc. If really need to access the member by index and must avoid switch, use array instead even though it will be a garbage.
I wonder that, the MIConvexHull really need array for the vertex?
I can see the IVertex interface. It should work as reference and a struct will be boxed which has implemented the interface.
But, should avoid boxing/unboxing as well in performance critical situation.
I suggest that adding a struct Vertex the MIConvexHull own, or use a single double collection for whole vertices.

I've been thinking about this as well. I've been keeping my eye on the development of System.Numerics.Vector (in corefx) for this very reason.
However, many of the uses of MIConvexhull are for dimensions greater than 3 (especially in the context of solving 3D voronoi or delauanay triangulation). That said, we have been hard at work at the specialized 2d version of convex hull (see recent commits) - so it does seem natural to extend this 3d for the very purpose that you recommend.
Unfortunately, I'm a bit crushed right now. but it is something that I would like to see get done.


multiple maps?

Hi! Thanks for your work!
This is more a question than an issue.
I am trying to make two maps on one page, but can't think of a way to achieve this with boundless sdk.
Can I get direction for this?

@hanbyul-dl See: https://sdk.boundlessgeo.com/multimap/index.html
Let me know if you have further questions


creating role

hi, I dont understand the format to add role, can you explain? or give me example? Im currently using the english version
thank you.

Create role
/role code SYSTEM_INIT_MESSAGE=you are a professional programmer

Usage
~code How are you

thank you


PLC Structured text language support IEC61131

Pleas add support of the syntax hihglighting for Structured text languages used in programmable logic controllers (PLC) as defined in IEC 61131-3 (for example CoDeSys  or Siemens SCL)
s. Wikipedia Article with references for more detailed information.
They are basically wery similar to PASCAL and it is possible to use this language definition for highlighting.
But as you can see below, some specific constructions remain not parsed:
// PLC configuration
CONFIGURATION DefaultCfg
    VAR_GLOBAL
        b_Start_Stop  : BOOL;         // Global variable to represent a boolean.
        b_ON_OFF      : BOOL;         // Global variable to represent a boolean.
        Start_Stop AT %IX0.0:BOOL;    // Digital   input of the PLC (Address 0.0)
        ON_OFF     AT %QX0.0:BOOL;    // Digital output of the PLC (Address 0.0). (Coil)
    END_VAR

    // Schedule the main program to be executed every 20 ms
    TASK Tick(INTERVAL := t#20ms);

    PROGRAM Main WITH Tick : Monitor_Start_Stop;
END_CONFIGURATION

PROGRAM Monitor_Start_Stop          // Actual Program
    VAR_EXTERNAL
        Start_Stop  : BOOL;
        ON_OFF      : BOOL;
    END_VAR
    VAR                             // Temporary variables for logic handling
        ONS_Trig    : BOOL;
        Rising_ONS  : BOOL;
    END_VAR

    // Start of Logic
    // Catch the Rising Edge One Shot of the Start_Stop input
    ONS_Trig    := Start_Stop AND NOT Rising_ONS;

    // Main Logic for Run_Contact -- Toggle ON / Toggle OFF ---
    ON_OFF := (ONS_Trig AND NOT ON_OFF) OR (ON_OFF AND NOT ONS_Trig);

    // Rising One Shot logic
    Rising_ONS := Start_Stop;
END_PROGRAM

Closing per our policy on language requests.  https://highlightjs.readthedocs.io/en/latest/language-requests.html
You're also welcome to add your request to the wiki, but generally nothing comes of doing so. https://github.com/highlightjs/highlight.js/wiki/Grammar-Requests
If you'd be interested in working on this yourself and contributing a 3rd party grammar we'd be happy to have it!  Looks like it might be a pretty simple grammar as far as such things go.


[Performance] Webpack 2.4.0+ slower than 2.3.x

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
Currently getting a ~60 second difference between Webpack 2.4.0 and 2.3.3:
Version: webpack 2.4.0
Child
    Hash: a9e44da36f0f1261c351
    Time: 196998ms

vs.
Version: webpack 2.3.3
Child
    Hash: 603d49f5ab0d93e0c43f
    Time: 137490ms

The only change made to any config/build/etc  was changing webpack versions in package.json.
I also tested this with 2.5.1, and had the same results as 2.4.0.
If the current behavior is a bug, please provide the steps to reproduce.
Install 2.3.3, build and record time. Up to 2.4.0+ and record time

What is the expected behavior?
A similar build-time to previous version of webpack.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node: 6.9.4
webpack: tested 2.2.1, 2.3.3, 2.4.0, 2.4.1, 2.5.1. All versions 2.4.0 and above were slower than the versions below 2.4.0.
Not sure what would make such a drastic change in build time. Perhaps to acorn update to 5 that happen in 2.4.0?
I'll see if I can dig a bit into the diffs and see if anything pops out.

well, it's not acorn 5.
I did some messing around with npm installing webpack via github from specific commits, and from what I can tell the culprit is this guy: https://github.com/webpack/webpack/commit/983904cfa354eb00256f44b973a539090a19c7c6
i'll continue looking into this and see if i can get a PR in

I went ahead and manually changed that commit back in my local dependencies, and it got the performance boost back. So I can confirm that the performance regression was introduced in that commit.
The problem with this is, that commit is from this pull request: https://github.com/webpack/webpack/pull/4622
so, reverting that commit looks like it would break using context.issuer in custom resolvers.
I'm curious what @sokra was going for with the resolveContextInfo in this commit: https://github.com/webpack/webpack/commit/da29d21ae44056ccbd525282300df7184e922d97#diff-1fd8fe07e83988b2301f9bad408cf5c2
Is it possible to keep the context feature, but also speed up performance back to what it was before that commit?
Another angle to investigate is: is this actually webpack? It doesn't seem like this change should create such a performance hit?

Also, just for the heck of it I attempted to use webpack/webpack#beta build, and still had the slow performance of 2.4.0+ versions.

da29d21 will cause that the resolve cache can used less often.
It passes issuer to the resolver. This allows to resolve depending on issuer. Maybe we can add an option to specify the context information passed to the resolver, so you get higher performance if you don't need it.

We're also seeing this regression
14:24 $ node scripts/test-webpack-build.js
Build: 31679.024ms
14:25 $ node scripts/test-webpack-build.js
Build: 33072.790ms
14:26 $ node scripts/test-webpack-build.js
Build: 31929.403ms
14:26 $ rm -rf node_modules/webpack
14:27 $ ni<EMAIL_ADDRESS><EMAIL_ADDRESS>/Users/briand/dev/salestrader/apps/salestrader
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └──<EMAIL_ADDRESS>14:27 $ node scripts/test-webpack-build.js
Build: 16285.997ms
14:28 $ node scripts/test-webpack-build.js
Build: 15049.645ms
14:28 $ node scripts/test-webpack-build.js
Build: 15103.269ms

This change doubles our build time, so we are pinning 2.4.0

I'm not sure if this is useful information, but FWIW at Airbnb, we also noticed this dramatic performance regression when going from v2.3.2 to v2.4.0 (with no other changes). So, we'll be stuck on v2.3.2 until this is fixed. Here are our before and after timings:
v2.3.2: 378644ms
v2.4.0: 751531ms
Let me know if I can provide any more information or if you'd like me to try anything out! Thanks for all of your hard work on this. 🏇

v2.3.2: 83 seconds
v3.0.0-rc.1: 62 seconds
So I guess other performance improvements have trumped this particular regression ?

cc @mikesherov if interested.

We have stopped at v.2.3.3 until this is resolved.

Is this still a problem in Webpack 3?

@sokra I think I'm not alone in wanting a resolution to this, like many have already mentioned, it's keeping me stuck on an older version for one of my (larger) projects. It seems the reason for this pref regression got identified as a result of tighter caches thanks to da29d21 could we make that behavior opt-in or even if you could just show us how we could change our configs to avoid sending that extra context information, as you mentioned, then we'd be able to enjoy all the benefits of webpack@3

I'm going to look into this today.

Because no internal resolvers need the context information, and introducing an option to provide it would be a breaking change, my plan is as follows:

Stop passing context information like da29d21 did unless a custom resolve plugin is provided. This will give performance back to the overwhelming majority of folks who don't use resolvePlugins.
For Webpack 4.0, require resolve plugins to provide a property called needsContext (similar to cacheable for loader plugins). Then, when plugins are registered, Webpack can determine if any custom plugins actually need context, and only provide context in the case at least one needs it.

@sokra thoughts?

OK, I have a potential fix which is different from the ones proposed above. PR coming shortly to the enhanced-resolve repo.
Essentially, there will be a new resolve option called aggressiveCache, which is on by default, which ignores request.context entirely when considering whether a resolved module is cached or not. For users who need to consider context, they can set it to false, and that'll allow context to be considered for the key.
PR coming in like 10 minutes.

https://github.com/webpack/enhanced-resolve/pull/92

https://github.com/webpack/webpack/pull/5178 which leverages https://github.com/webpack/enhanced-resolve/pull/92
Feel free to test it out folks and see if it speeds up your builds again.

(Cross post)
webpack 3 - 65 seconds
webpack 3 with @mikesherov PR - 34.4 seconds
webpack 2.3.3 - 34.0 seconds
:)

We managed to sneak even more perf into #5178 thanks to a speedup @gdborton found, so the master branch should be even faster than 2.3.3 !

@mikesherov is there a way to figure out if a given setup has any resolve or resolveLoader plugins, so that we can take them out to avoid performance loss?

@filipesilva it would be in your resolve.plugins or resolveLoader.plugins configuration setting.

Ah that's straightforward, cheers!


Fetching offchain storage value returns different value than the value fetched using localStorageGet function

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

[ ] This is not a support question.

Description of bug
I need to get the rpc_url value set initially from the explorer. The localStorageGet rpc function returns the correct value of the rpc_url.
This returns https://eth-mainnet.g.alchemy.com/v2/MY_API_KEY
But while fetching the rpc_url through the storage call like this:
    pub const ETHEREUM_EXECUTION_RPC: &[u8] = b"starknet::ETHEREUM_EXECUTION_RPC";
    let eth_execution_rpc_url = StorageValueRef::persistent(ETHEREUM_EXECUTION_RPC)
        .get::<Vec<u8>>()
        .map_err(|_| OffchainWorkerError::GetStorageFailed)?
        .ok_or(OffchainWorkerError::EthRpcNotSet)?;

     let endpoint: &str =
        core::str::from_utf8(&eth_execution_rpc_url).map_err(|_| OffchainWorkerError::FormatBytesFailed)?;

This returns endpoint = ttps://eth-mainnet.g.alche
Steps to reproduce
No response

@bkchr Do you have any insights on this?

Update:
So setting the rpc_url first ( using set() ) and then retrieving its value returns the correct url. I suppose the explorer sets the storage in a different way than using the set() method

at a first glance it looks like the value is not encoded as a Vec<u8> but maybe as an u8 array of fixed size or something else.
Because the h seems to be interpreted as the compact length of the vec and thus is missing from the result and then the url is cut too short probably meaning the length of the vec is wrong, because it has been computed from h instead of the correct way.


[Frontend] Scroll to Top Button #311

Issue that this pull request solves
Closes: #311
Proposed changes
Brief description of what is fixed or changed
Types of changes
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Put an x in the boxes that apply

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] My changes does not break the current system and it passes all the current test cases.

Screenshots
Please attach the screenshots of the changes made in case of change in user interface
Other information
Any other information that is important to this pull request
@Kajol-Kumari review

@kenkirito I can see 113 files changed. Never ever add node_modules in the PR or commit anywhere! Please remove them

@kenkirito I can see 113 files changed. Never ever add node_modules in the PR or commit anywhere! Please remove them

ok

ok


Create new component contribution guide

As someone who wants to contribute something to the design system (code, design artefacts, research) I need to know what's expected of me so I can provide the correct information to the core team.
I need to know what guidelines I'm expected to follow, what format my contributions should be in, how long it should take for someone to get back to me.
I'm essentially volunteering my time to make the design system better for everyone, so this needs to be laid out clearly so I can make my contributions with the least amount of hurdles to clear.

https://github.com/govau/uikit/pull/344

My name is Patrick De Young, and I approve this 👍


Left over !default's from milligram's main SASS code.

Version info:
Affects milligram-less versions 1.2.0 and up.
Expected behavior
Expect npm run less to successfully compile milligram-less.
Actual behavior
Command errors with:
NameError: variable @color-secondary is undefined in 'milligram-less\src\_Base.less' on line 21, column 9:
20 body {
21      color: @color-secondary;
22      font-family: 'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;

Reason
It looks like back when you guys released v1.2.0 in commit f3acaf863f7012baf8c206cd3dfe3e5ec19b70c3 you forked the source from the main project (milligram's SASS) but it looks like you guys left in the !default at the end of each variable in _Color.less. Which is technically not valid LESS syntax and causing lessc to silently ignore _Color.less leaving all its variables undefined and leading to the error above. Removing said !default's fixes the build process.
I'm currently using milligram-less to unit test a custom compiler invoking less in a forked project I'm using. Would it be possible for you guys to remove the !default's during the forking/build process that you guys have, and maybe make a patch on npm for it like v1.3.1?

@LanetheGreat good call.
Let me know if you can help me with this.


Triangle Facts

Nice first effort.  Take a look at the comments, perform the necessary refactors, and resubmit when ready.


fix readme CONTRIBUTING.md url

Description
fixes #234

Fixed URL!

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Should that path be relative to the current branch?
https://github.com/XGovFormBuilder/digital-form-builder/tree/master/CONTRIBUTING.md would always point to 'master'.
Can you do something like '/CONTRIBUTING.md'?