gulp-uglify expects an object, non-object provided

Hi, I installed gulp-uglify today using npm i --save-dev gulp-uglify.
I followed this tutorial http://tylermcginnis.com/reactjs-tutorial-pt-2-building-react-applications-with-gulp-and-browserify/ to use gulp-uglify like this:
gulp.task('build', function(){
  gulp.src(path.JS)
    .pipe(react())
    .pipe(concat(path.MINIFIED_OUT))
    .pipe(uglify(path.MINIFIED_OUT))
    .pipe(gulp.dest(path.DEST_BUILD));
});

When I run gulp build in my terminal, I get this error message :
gulp-uglify expects an object, non-object provided
It was not necessarily an error message, the command exited with status 0.
When I loaded my index.html in browser, in console, I saw this error: Uncaught TypeError: e.type is not a function
I realize something has gone wrong in the uglification process. My package.json shows "gulp-uglify": "^1.4.2".
Please help. How should I be calling the uglify function in gulp task? I checked the documentation in npmjs website, and all I could find was the uglify() function was being called without any argumment. But that won't be applicable here, since I want them to go to a different directory.

Hello @alayek!
Thanks for using gulp-uglify. Allow me to attempt to answer your questions one by one.

When I run gulp build in my terminal, I get this error message :+1:
gulp-uglify expects an object, non-object provided

Apologies, the tutorial you followed is slightly incorrect. gulp-uglify expects an options object (or nothing) as it's argument, but you're passing in either a string or an array.
Change .pipe(uglify(path.MINIFIED_OUT)) to .pipe(uglify()) to get rid of this warning.

When I loaded my index.html in browser, in console, I saw this error: Uncaught TypeError: e.type is not a function

This is telling you that you're calling type() on something, and type is not a function. I recommend commenting out the .pipe(uglify()) line in your gulpfile to see where the error message comes from.

Hello @terinjokes, here are a few other things I have tried since filing this issue:
I used
.pipe(uglify({
            file:path.MINIFIED_OUT
        }))

This took away the error message with latest gulp in the terminal. But the React components are still not being rendered. in browser console, I am getting the same error message.
In uninstalled latest gulp-uglify and reinstalled<EMAIL_ADDRESS>and used it as provided in the tutorial.
Still the same thing - uglification succeeds, but the JS code fails in browser.
I removed the uglification step altogether, and it produced the following output:
React.render(React.createElement(Parent, null), document.getElementById('app'));
var Child = React.createClass({displayName: "Child",
    propTypes: function() {
        name: React.PropTypes.String.isRequired
    },

    render: function(){
        return (
            React.createElement("div", null,
                "and this is the ", React.createElement("b", null, this.props.name), "."
            )
        );
    }
});
var Parent = React.createClass({displayName: "Parent",
    render: function(){
        return (
            React.createElement("div", null,
                React.createElement("div", null, " This is the parent. "),
                React.createElement(Child, {name: "child"})
            )
        );
    }
});

This one renders the React components just fine. So, my original JS code is fine, and the concatenation works too. But the uglification step messes up something, and the react.min.js cannot render my components.

.pipe(uglify({
            file:path.MINIFIED_OUT
        }))

The file option does nothing, you may remove it at your leisure.
As for your issue, I recommend using Chrome's debugger and investigating the state of the application when you encounter the error.

I went through the same tutorial and I ran into the same issue.
By looking at the concatenated code, the React.render(...) call does not know the Parent class because it's defined later.
I moved the first line to the bottom and it worked.
So basically, in the tutorial, it seems the concatenation step needs to be revised.

You can also specify the order in which you like your source files to be processed and gulp will follow that order:
e.g.
I modified my path object as follows, since I have a file named main.js and that needs to be processed (concatenated, and uglifyed) before parent.js and child.js.
var path = {
  HTML: 'src/index.html',
  ALL: ['src/assets/js/main.js', 'src/assets/js/*.js', 'src/assets/js/**/*.js', 'src/index.html'],
  JS: ['src/assets/js/main.js', 'src/assets/js/*.js', 'src/assets/js/**/*.js'],
  MINIFIED_OUT: 'build.min.js',
  DEST_SRC: 'dist/src',
  DEST_BUILD: 'dist/build',
  DEST: 'dist'
};

I believe If you do not specify your files in the array and just rely on ['*.js'] gulp will process all the .js files in that path in alphabetical order.

Thanks. Yes, It was my first time with Gulp, so I didn't know these idiosyncrasies. Anyway, I figured out the problem later. Thanks again.
The issue has been rightly closed.

Another thanks.  Saved me some time.   In the tylermcginnis tutorial you actually need to specify Child, then Parent:
var path = {     HTML: 'src/index.html',     ALL: ['src/js/*.js', 'src/js/**/*.js', 'src/index.html'],     JS: ['src/js/Child.js', 'src/js/Parent.js', 'src/js/*.js', 'src/js/**/*.js'],     MINIFIED_OUT: 'build.min.js',     DEST_SRC: 'dist/src',     DEST_BUILD: 'dist/build',     DEST: 'dist' };


Remove 3.6 Support

Python 3.6 has been deemed End of Life (EOL) since December 2021.
We should make moves to stop supporting it.
Tasks

[ ] Remove 3.6 test support.
[ ] Remove 3.6 specific code.
[ ] Update setup.py to not list 3.6 and set minimum python version to 3.7.
[ ] Update any documentation & markdown files to remove reference to 3.6.
[ ] Create pull request with all the changes.
[ ] Determine timeline for a merge. With telemetry -- we should be able to confirm whether anyone is using Hamilton with python 3.6. If so then it should be easy to remove, if not, we'll then need to understand what's stopping people from moving to 3.7+. (See @skrawcz to know whether this is the case or not).

@MDK8888 sure want to give it a try and come up with a pull request? Hopefully the task list gives you a good idea of what to do/search for.

@MDK8888 do you have an ETA on this? We'd like to get this out in February, so let me know if that fits your timeline, otherwise I can reassign this issue. Thanks.

Hey @MDK8888 -- ended up working on this. It was super quick and not that interesting :) Think you can find an equivalently easy yet more interesting first issue :)

#291 removed 3.6


Call handle.Close method has been blocked

I found a similar issue
https://github.com/google/gopacket/issues/253
I noticed that this problem has been fixed, but it seems to be reproduced in my code, and the version I am using is v1.1.19
My code is as follows
func Tcpdump(device string, filter string, filePath string, fileName string, cancelChan chan struct{}) (err error) {
	var (
		handle *pcap.Handle
		file   *os.File
	)
	handle, err = pcap.OpenLive(device, 65535, true, pcap.BlockForever)
	if err != nil {
		return
	}
	defer func() {
		fmt.Println("begin close...")
		handle.Close()
		fmt.Println("closed...")
	}()
	if err = handle.SetBPFFilter(filter); err != nil {
		return
	}
	packetSource := gopacket.NewPacketSource(handle, handle.LinkType())
	if err = os.MkdirAll(filePath, 0750); err != nil {
		return
	}
	fileFullPath := ""
	if strings.HasSuffix(filePath, "/") {
		fileFullPath = filePath + fileName
	} else {
		fileFullPath = filePath + "/" + fileName
	}
	file, err = os.Create(fileFullPath)
	if err != nil {
		return
	}
	defer func() {
		_ = file.Close()
	}()
	packetWriter := pcapgo.NewWriter(file)
	if err = packetWriter.WriteFileHeader(65535, handle.LinkType()); err != nil {
		return
	}
	for {
		select {
		case packet := <-packetSource.Packets():
			if err = packetWriter.WritePacket(packet.Metadata().CaptureInfo, packet.Data()); err != nil {
				return
			}
		case <-cancelChan:
			return
		}
	}
}

I found that this function cannot end normally, and "begin close..." can be output normally but "closed..." cannot be output

I have met the same issue. Are there any solution to bypass such issues ?

I have met the same issue. Are there any solution to bypass such issues ?

I solved the problem by setting a reasonable timeout. As you can see, the timeout in my code is set to pcap.BlockForever. This value is a negative number and causes blocking problems.
handle, err = pcap.OpenLive(device, 65535, true, pcap.BlockForever)
I noticed that Handle's ReadPacketData will be locked, and the synchronization variable is mu.The structure of Handle is as follows
type Handle struct {
	// stop is set to a non-zero value by Handle.Close to signal to
	// getNextBufPtrLocked to stop trying to read packets
	// This must be the first entry to ensure alignment for sync.atomic
	stop uint64
	// cptr is the handle for the actual pcap C object.
	cptr           pcapTPtr
	timeout        time.Duration
	device         string
	deviceIndex    int
	mu             sync.Mutex
	closeMu        sync.Mutex
	nanoSecsFactor int64

	// Since pointers to these objects are passed into a C function, if
	// they're declared locally then the Go compiler thinks they may have
	// escaped into C-land, so it allocates them on the heap.  This causes a
	// huge memory hit, so to handle that we store them here instead.
	pkthdr *pcapPkthdr
	bufptr *uint8
}

func (p *Handle) ReadPacketData() (data []byte, ci gopacket.CaptureInfo, err error) {
	p.mu.Lock()
	err = p.getNextBufPtrLocked(&ci)
	if err == nil {
		data = make([]byte, ci.CaptureLength)
		copy(data, (*(*[1 << 30]byte)(unsafe.Pointer(p.bufptr)))[:])
	}
	p.mu.Unlock()
	if err == NextErrorTimeoutExpired {
		runtime.Gosched()
	}
	return
}

In the Packets() method of PacketSource, a goroutine is opened to call the ReadPacketData method in a loop.
Example in my sample code:
case packet := <-packetSource.Packets():
The source code of this method is as follows
func (p *PacketSource) Packets() chan Packet {
	if p.c == nil {
		p.c = make(chan Packet, 1000)
		go p.packetsToChannel()
	}
	return p.c
}

Note the getNextBufPtrLocked method,When the timeout parameter is less than 0, this method seems to block uniformly.As a result, the lock cannot be released.

// Close closes the underlying pcap handle.
func (p *Handle) Close() {
	p.closeMu.Lock()
	defer p.closeMu.Unlock()

	if !p.isOpen() {
		return
	}

	atomic.StoreUint64(&p.stop, 1)

	// wait for packet reader to stop !!!!!!!!
	p.mu.Lock()
	defer p.mu.Unlock()

	p.pcapClose()
}

Pay attention to these two lines of code
p.mu.Lock()
defer p.mu.Unlock()

I  got the forked version gopacket/gopacket which soloved this issue by anthor way, but also thanks very much for reply！
https://github.com/google/gopacket/pull/893#issuecomment-1774120598


Minor typo fix in readme

Correcting an insignificant typo in README.md: wether -> whether

Thank you!


How can I get CameraSource(or frame source) from Sceneform?

Hi, I want to read QR Code from sceneform ArSceneView with BarcodeDetector.
but I can't get CameraSource.
Is there any method to get frame source? (or possible way to read QR Code in Sceneform session?)
Of course, I can get bitmap from surfaceview, but it is too slow.

You can access the camera stream from ARCore's frame object.  What I did was
Register the listener to be called every frame
sceneView.getScene().setOnUpdateListener(this::onSceneUpdate);
Then you in onSceneUpdate you can access the ARCore frame and copy the image by calling acquireCameraImage().  This example is the "computervision" code from ARCore.  From the image object you should be able to get the buffer to feed to the barcode detector.
  public void onSceneUpdate(FrameTime frameTime) {
        if (session == null) {
            return;
        }

        Frame frame = sceneView.getArFrame();
        if (frame == null) {
            return;
        }
        // Copy the camera stream to a bitmap
        try (Image image = frame.acquireCameraImage()) {
            if (image.getFormat() != ImageFormat.YUV_420_888) {
                throw new IllegalArgumentException(
                        "Expected image in YUV_420_888 format, got format " + image.getFormat());
            }

            ByteBuffer processedImageBytesGrayscale =
                    edgeDetector.detect(
                            image.getWidth(),
                            image.getHeight(),
                            image.getPlanes()[0].getRowStride(),
                            image.getPlanes()[0].getBuffer());

            Bitmap bitmap = Bitmap.createBitmap(image.getWidth(), image.getHeight(),
                    Bitmap.Config.ALPHA_8);
            processedImageBytesGrayscale.rewind();
            bitmap.copyPixelsFromBuffer(processedImageBytesGrayscale);
        } catch (Exception e) {
            Log.e(TAG, "Exception copying image", e);
        }
}


Roll engine 1cada0a6dca6..f15cc3402938 (1 commits)

git@github.com:flutter/engine.git/compare/1cada0a6dca6...f15cc3402938
git log 1cada0a6dca6..f15cc3402938 --no-merges --oneline
2019-09-19<EMAIL_ADDRESS>Roll src/third_party/skia 18531cde2ab7..9a8b846baf43 (1 commits) (flutter/engine#12360)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5509995782733824 , https://cirrus-ci.com/task/6354420712865792 , https://cirrus-ci.com/task/6072945736155136 , https://cirrus-ci.com/task/6635895689576448 , https://cirrus-ci.com/task/5721102015266816 , https://cirrus-ci.com/task/5087783317667840 , https://cirrus-ci.com/task/4947045829312512

Commit queue failed; closing this roll.


Kafka Cleanup

I'm using TestContainers with Kafka, but I'm getting come cache on my tests.
I have built the Hello World Kafka Stream application, and on my tests, I'm getting the answer:
Flat Map: Hello World!
Grouping: key=null work=hello
Grouping: key=null work=world
Key=hello value=7

My test is very simple, I'm creating the KafkaContainer and sending a message to the input topic, and checking the output topic.
@Container
public static KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.4.3"));

How can I clean up all Kafka data (or all container data)? Can I do it between tests?
I believe that every time I run the tests I need to use a brand new Kafka Cluster, not the old one. I create a GitHub repository with my test.

@bsideup, I would be please if you do not close the issue so fast. I believe you did not understand the question.
Let me change the question: how can I clean up the container data.
If you read the question you will see that some data is been kept between different test executions. This is not a Kafka issue, because if I use a new container Kafka will start without any data.

@vepo there is no shared data between containers. Since your container is defined as static, it is reused between tests of the same class - maybe that's the case? If you want "1 container per test", then you should not define it as static, as per https://www.testcontainers.org/test_framework_integration/junit_5/

Just for the record.
It was not a TestContainer problem. Kafka Streams creates a local cache on %AppData%\Local\Temp\kafka-streams

@vepo or that :D I am glad you got it solved 👍


a new readme (from #1764)

Improved the plots a bit and added some infos about dev'ing Makie

Compile Times benchmark


broken master (input shape)

It appears that last commit messed with input shape in Atari enviroment:
[lucibello@bidsa-sc pytorch-a2c-ppo-acktr]$ python main.py
#######
WARNING: All rewards are clipped or normalized so you need to use a monitor (see envs.py) or visdom plot to get true rewards
#######
Traceback (most recent call last):
  File "main.py", line 265, in <module>
    main()
  File "main.py", line 122, in main
    Variable(rollouts.masks[step], volatile=True))
  File "/home/lucibello/Git/pytorch-a2c-ppo-acktr/model.py", line 24, in act
    value, x, states = self(inputs, states, masks)
  File "/home/lucibello/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 224, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/lucibello/Git/pytorch-a2c-ppo-acktr/model.py", line 87, in forward
    x = self.conv1(inputs / 255.0)
  File "/home/lucibello/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 224, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/lucibello/.local/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 254, in forward
    self.padding, self.dilation, self.groups)
  File "/home/lucibello/.local/lib/python3.6/site-packages/torch/nn/functional.py", line 52, in conv2d
    return f(input, weight, bias)
RuntimeError: Given input size: (336, 84, 1). Calculated output size: (16, 20, 0). Output size is too small.

Reverting to recent commits fixes the problem.
Cheers
C

Thanks for reporting the bug!
Fixed in https://github.com/ikostrikov/pytorch-a2c-ppo-acktr/commit/c8a13eee13afdbd1323144e3be25f47c20f33546


shared config file VM goes down, use a new VM.

the machine we had mounted the shared config file went down hard and we need to move to another machine.
so I have my new machine, and have mounted the conf file.
I have started my exhibitor on the same machines with the new fsconfigdir.
when adding the fields in the config tab and on commit i get /opt/exhibitor/conf/exhibitor-lock-_1424910581044_7319860973945811996 (Permission denied)

@waater what is the permission settings on the copied conf file on your new machine?

done! had to set nfs server permission with no_root_squash.


Each exporter should log its version upon startup

This will make debugging others' deployments easier.

Having the git commit hash in the resulting image would be Good Enough™, but having the release version number for stable releases would be a nicer UX.


Changed the font properties and footer section

Hey @shruti8302 , there are conflicts in your commit through which I won't be able to merge , please pull the repo properly and then make required changes.
And also reduce the space between social media icons in footer section. Rest all is fine:)

@akshathar-navada I have resolved the conflict.

Thank you @shruti8302 , we will review and merge it soon!!

@akshathar-navada Could u label it under GSSOC'23?


Push latest arm64 image to dockerhub

Please push the latest image with arm64 architecture to dockerhub to support the newest features on selfhosted platforms.
The latest arm image is on version <IP_ADDRESS>.
https://github.com/supabase/supabase/issues/4887
My current solution:
https://github.com/supabase/supabase/issues/2954#issuecomment-1183391492

We now have supabase/postgres images for  linux/arm64


Update go http2 package URI

github.com/bradfitz/http2 was moved to golang.org/x/net/http2.
Let's update all the reference to the repository.

It's a great help! Thank you!


Component assets missing from SSR render

We're trying to setup SSR for Vue 2.7 as we move towards a future Vue 3 migration of a large Vue 2 codebase. We've moved from Webpack to Vite in the process, but we're seeing an issue with a FOUC on all pages in both the dev server and production builds.
During the template render, the SSR server does not appear to be picking up all the components that were walked during the render. I would expect these components to be collected into context._registeredComponents which appears to be what the template renderer is using to inject the CSS and scripts.
This functionality does not appear to be functioning properly. And because there isn't a createSSRApp equivalent for Vue 2.7, we're not able to collect the modules for doing our own template rendering either (as shown here.)
What's the recommended process for eliminating this FOUC for Vue 2.7 applications?

Tangentially related to https://github.com/vitejs/vite-plugin-vue2/issues/56

Actually I think I can see that this is todo.. https://github.com/vitejs/vite-plugin-vue2/blob/main/src/main.ts#L135 -- would really appreciate work towards this, or guidance on how we can contribute.

So I patched the plugin by adding some code that works for our use case to the above TODO'd section:
Obviously this may cause problems if you have components that use the beforeCreate lifecycle hook -- we don't -- but the idea is pretty simple. After this, the example Vue SSR code works fine.
  if (ssr) {
    const normalizedPath = slash(path.normalize(path.relative(options.root, filename)));
    let moduleId = JSON.stringify(normalizedPath);
    output.push(`
    __component__.options.beforeCreate = function() {
      const ctx = this.$ssrContext;
      ctx.modules = ctx.modules || [];
      if (!ctx.modules.includes(${moduleId})) {
        ctx.modules.push(${moduleId});
      }
    };
    `)
  }

For those having trouble, my solution is similar to Iwansbrough's.
I created a burner plugin.
vite.vue-moduleid-extractor.js
/**
 * MIT License
 *
 * Added this plugin so that you can use ctx.modules to know the rendered vue modules in vue SSR.
 * @vitejs/plugin-vue2 should this, but it has been TODO for more than a year.
 * https://github.com/vitejs/vite-plugin-vue2/blob/v2.2.0/src/main.ts#L135
 *
 * phonezawphyo
 */
import path from "node:path"
import { normalizePath } from 'vite'

const parseVueRequest = (id) => {
  const [filename, rawQuery] = id.split(`?`, 2)
  const query = Object.fromEntries(new URLSearchParams(rawQuery))
  if (query.vue != null) {
    query.vue = true
  }
  if (query.index != null) {
    query.index = Number(query.index)
  }
  if (query.raw != null) {
    query.raw = true
  }
  if (query.url != null) {
    query.url = true
  }
  if (query.scoped != null) {
    query.scoped = true
  }
  return {
    filename,
    query,
  }
}

export default ({root}) => {
  return {
    name: 'vue-moduleid-extractor',
    transform(code, id, opt) {
      const ssr = opt?.ssr === true
      const { filename, query } = parseVueRequest(id)

      if (ssr && filename.endsWith('.vue') && !query.vue) {
        const normalizedFilename = normalizePath(
          path.relative(root, filename),
        )
        let moduleId = JSON.stringify(normalizedFilename)
        code = code.replace(/export default __component__\.exports$/, "")
        code += `
        __component__.options.beforeCreate = (__component__.options.beforeCreate||[]).concat([
          function() {
            const ctx = this.$ssrContext;
            ctx.modules = ctx.modules || [];
            if (!ctx.modules.includes(${moduleId})) {
              ctx.modules.push(${moduleId});
            }
          }
        ]);
        export default __component__.exports;
        `
        return { code, map: null }
      }
    }
  }
}

Usage in vite.config.js
import vueModuleIdExtractor from "./vite.vue-moduleid-extractor"
...
  plugins: [
    vue(),
    vueModuleIdExtractor({root:process.cwd()})
  ],
...


webpack ensure have number filename

Code :
router.map({
'/index' : {
component : function( resolve ){
require.ensure(["../webcomponent/index/module-index.js"], function(require) {
require( "../webcomponent/index/module-index.js" );
},'module-index');
    }
},
'/foo': {
    component: function( resolve ){
        require.ensure(["../webcomponent/foo/foo.js"], function(require) {
           require( "../webcomponent/foo/foo.js" );
        },'foo');
    }
}

})
when I webpack the Code,while built file will has number fillname,example 1.module-index.js or 2.foo.js and so on;
I want to know that why built file is that;

It depends on the output.chunkFilename option, which defaults to [id].[name].js


VIP BFM AXI4-Lite with ALDEC Active-HDL 9.2 simulator

Hi,
I'm trying to use the VIP BFM AXI4-Lite with a proprietary testbench and methodology for a custom application. I'm running the testbench in ALDEC Active-HDL 9.2 simulator.
When I try to compile axilite_bfm_pkg.vhd I get this error from Active-HDL:
# Compile Package "axilite_bfm_pkg"
# Compile Package Body "axilite_bfm_pkg"
# Error: DAGGEN_0007: axilite_bfm_pkg.vhd : (0, 0): Error during conversion C:\Users\ADMINI~1\AppData\Local\Temp\7512_349979928axilite_bfm_pkg_axilite_bfm_pkg.dag to C:\Users\ADMINI~1\AppData\Local\Temp\7512_349979928axilite_bfm_pkg_axilite_bfm_pkg._x86.bin
# Compile failure 1 Errors 0 Warnings  Analysis time :  78.0 [ms]

And when I try to simulate I get:
# ELAB2: Elaboration final pass...
# ELAB2: Fatal Error: ELAB2_0030 Error while reading binary code for unit "axilite_bfm_pkg".
# KERNEL: Error: E8005 : Kernel process initialization failed.
# Error: Fatal error occurred during simulation initialization.

I am sure there are no syntax error in the file. I am compiling with VHDL-2008. Can you help me? Is Active-HDL supported? If not, why it shouldn't?
Thanks, Andrea

Hi Andrea,
The code is checked with Modelsim (Mentor) and Riviera Pro (Aldec), but not with Active HDL.
I have informed Aldec about this issue.
Best regards
Espen
From: andrews6<EMAIL_ADDRESS>Sent: Tuesday, May 9, 2017 7:12 PM
To: UVVM/UVVM_All
Cc: Subscribed
Subject: [UVVM/UVVM_All] VIP BFM AXI4-Lite with ALDEC Active-HDL 9.2 simulator (#18)
Hi,
I'm trying to use the VIP BFM AXI4-Lite with a proprietary testbench and methodology for a custom application. I'm running the testbench in ALDEC Active-HDL 9.2 simulator.
When I try to compile axilite_bfm_pkg.vhd I get this error from Active-HDL:
Compile Package "axilite_bfm_pkg"
Compile Package Body "axilite_bfm_pkg"
Error: DAGGEN_0007: axilite_bfm_pkg.vhd : (0, 0): Error during conversion C:\Users\ADMINI~1\AppData\Local\Temp\7512_349979928axilite_bfm_pkg_axilite_bfm_pkg.dag to C:\Users\ADMINI~1\AppData\Local\Temp\7512_349979928axilite_bfm_pkg_axilite_bfm_pkg._x86.bin
Compile failure 1 Errors 0 Warnings  Analysis time :  78.0 [ms]
And when I try to simulate I get:
ELAB2: Elaboration final pass...
ELAB2: Fatal Error: ELAB2_0030 Error while reading binary code for unit "axilite_bfm_pkg".
KERNEL: Error: E8005 : Kernel process initialization failed.
Error: Fatal error occurred during simulation initialization.
I am sure there are no syntax error in the file. I am compiling with VHDL-2008. Can you help me? Is Active-HDL supported? If not, why it shouldn't?
Thanks, Andrea
[1]https://cloud.githubusercontent.com/assets/28571986/25863235/54854cd0-34eb-11e7-93ae-ed4844f22e05.PNG
[2]https://cloud.githubusercontent.com/assets/28571986/25863234/5483f650-34eb-11e7-8157-a6dfe3dc3903.PNG
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/UVVM/UVVM_All/issues/18, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQAGEdQYHa8-HcWCY-qpYILJI3YMcDb5ks5r4J58gaJpZM4NVnbB.

Hi Andrea,
According to Aldec your problem was caused by an old version of Active HDL, so this should not be a problem with the newest version.
We also fixed a problem in UVVM on Tuesday that might have led to another (and relevant )compile error.
Hopefully everything will work now with an updated version of the compiler.
Best regards
Espen


Datatype for a 'shape specification' of a Dataset / DataArray

Is your feature request related to a problem?
Often with xarray I find myself having to create a template Dataset or DataArray with dummy data in it just to specify the dimensions/sizes/coordinates/variable names that are required in some situation.
Describe the solution you'd like
It would be very useful to have a datatype that represents a shape specification (dimensions, sizes and coordinates) independently of the data so that we can do things like:

Implement xarray equivalents of functions like np.ones, np.zeros, np.random.normal(size=...) that are given a shape specification which the return value should conform to. (I have some more sophisticated / less trivial examples of this too, functions which currently need to be given templates for the return value but only depend on the shape of the template)
Test if two DataArrays / Datasets have the same shape
Memoize or cache things based on shape (this implies the shape spec would need to be hashable)
Make it easier to use xarray with libraries like tree / PyTree that can be used to flatten and unflatten a Dataset into its underlying arrays together with some specification of the shape of the data structure that can be used to unflatten it back again. (Right now I have to implement my own shape specification objects to do this)
Manipulate shape specifications e.g. by adding or removing dimensions from them without having to manipulate dummy template data in slightly arbitrary ways (e.g. template.isel(dim_to_be_dropped=0, drop=True)) in order to do this.

Additional context
No response

@mjwillson, have you looked at https://github.com/carbonplan/xarray-schema? xarray-schema provides some of the functionality you are looking for...

Related to https://github.com/pydata/xarray/issues/1900


Auto Capitalize text

Text edits on the top and bottom textedits on the meme editor need to auto capitalize. Everything needs to be all caps

Taking this


Log not defined error

Hi. I can't get the module to work, it keeps crashing magicmirror. It seems that it doesn't throw an exception when I put a random port in config.js (module just says Loading... indefinitely), but when I use the right port (e.g. 8080) I get this weird error :
[ERROR] Whoops! There was an uncaught exception...
[ERROR] ReferenceError: Log is not defined
at exports.XMLHttpRequest.requestData.onreadystatechange (/home/pi/MagicMirror/modules/MMM-Domoticz-ext/node_helper.js:20:15)
at exports.XMLHttpRequest.dispatchEvent (/home/pi/MagicMirror/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:25)
at setState (/home/pi/MagicMirror/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:610:14)
at IncomingMessage. (/home/pi/MagicMirror/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:447:13)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
Can you help ? thanks

This might be because xmlhttprequest isn’t installed in your system. Can you try running ‘npm install xmlhttprequest’ in the MagicMirror folder and then see if it works?

I already installed it. I still ran the install install inside the MM folder, it just updated xmlhttprequest. Launching Magicmirror I get the same error while loading the module.

I fixed the crash of MM. Could you please get the latest code from GitHub? I think the request for data raises an error. The error log should now display the return status of the request. With that it is possible to debug further.
Btw: is Domoticz password protected in your setup? That is nog (yet) supported by the module.

Oh that's too bad ! I use password protection to restrict access to some devices (for example devices in bedrooms/personal spaces). Are you planning on adding compatibility in a near future ?

Just to be sure: are you using website protection or Light/Switch Protection? The plugin shouldn't have any problems with Light/Switch Protection, but website protection is not implemented. If you want, I can implement it. That shouldn't be too hard.

Yes it would be nice to have website protection compatibility, because your plugin cannot be used by someone who wants to do port forwarding to make his domoticz system accessible from the WAN. One would then just have to create a user specific to the mirror. Am I right or is there something I'm missing ? If not then yes, I would be grateful for you to implement it.

@wussuphaters
I implemented basic authentication for Domoticz. 2 config parameters have been added: apiUser and apiPW for specifying the credentials. It works both for the website protection user as for the users specified in Setup -> More options -> Edit users.
I think best indeed is to create a specifics user for the mirror. Please make sure that this user has access to al the devices the mirror is supposed to display. But entering the credentials for the user of the website protection in the mirror config will also work.
Download the latest code from GitHub, give it a try and let me know if it works.

Hi ! Thanks a lot for this implementation ! I tried it but I just cannot get it to work, it says Loading indefinitely and I don't have any error logs in terminal. I am using the 8080 port (default), and the credentials for my mirror user. Do you have any idea where it could be coming from ? Thanks

Could you please post your config for the module? Maybe I can find out what the problem is.

No further reaction received.


Clean up all code analysis dispose warnings

This PR cleans up all code analysis dispose warnings ensuring proper resource cleanup so streams and handles are not left open.

thanks for your contribution. I'm afraid though that I can't easily accept pull requests this large, as it is important to me to thoroughly test all impacted code on a variety of soundcards and operating systems. In future I suggest making a small number of changes and thoroughly testing the impacted class, before issuing a pull request.


loadmess: LB_LOAD build errors

LB_LOAD, defined in Pure Data's src/g_canvas.h, somehow isn't found by loadmess.c, even though other objects reference this header. FOR NOW, I subbed it out with its defined value of 0, but THIS IS BAD (since LB_LOAD may change in future pd versions) and we do need to find a non-bad solution for this.

PR #272

close?


I18n Site Config Data Is Not Reactive

Describe the bug
When switching between i18n locales, site config such as name and description won't be updated. This is due to a limitation in Nuxt Site Config where the data isn't reactive client side.
This decision was made as it vastly simplifies the implementation but we may need to rethink this.
The workaround for now is to have locale changes trigger a server request (i.e use window.location.href)
Reproduction
No response
System / Nuxt Info
No response

Can someone provide a more detailed workaround ?

This is my current nooby workaround, feels like really hacky and on refresh makes the page scroll to previous position (anyone knows how to disable that on always stay to top of page ?) :
<script setup lang="ts">
const { locale: currentLocale, locales, setLocale, t } = useI18n();

const localeSwicth = (localeCode: string) => {
  setLocale(localeCode);
  // Refresh page until this is fix
  // https://github.com/harlan-zw/nuxt-seo/issues/283
  window.location.reload();
};
</script>

<template>
  <div class="locale-switcher">
    <button
      v-for="locale in locales"
      :key="locale.code"
      :class="{ active: locale.code === currentLocale }"
      @click="localeSwicth(locale.code)"
    >
      {{ locale.code }}
    </button>
  </div>
</template>

What exact issue are you trying to work around? The description doesn't really need to be updated, should just be the title template for the site that that isn't reactive.
In which case you can just set your own using useHead

It's indeed for refreshing title and description on locale change client side. But using useHead for this is kinda making the module useless it seems to me


Type error when extracting computedFields out from the defineDocumentType function as a const

/** @type {import('contentlayer/source-files').ComputedFields} */
const computedFields = {
  slug: {
    type: "string",
    resolve: (doc: { _raw: { flattenedPath: never } }) =>
      `/${doc._raw.flattenedPath}`,
  },
  slugAsParams: {
    type: "string",
    resolve: (doc: { _raw: { flattenedPath: string } }) =>
      doc._raw.flattenedPath.split("/").slice(1).join("/"),
  },
};

export const Posts = defineDocumentType(() => ({
  name: "Posts",
  filePathPattern: `posts/**/*.mdx`,
  contentType: "mdx",
  fields: {
    title: {
      type: "string",
      required: true,
    },
    description: {
      type: "string",
    },
    date: {
      type: "date",
      required: true,
    },
    published: {
      type: "boolean",
      default: true,
    },
    image: {
      type: "string",
      required: true,
    },
    visibility: {
      type: "string",
      required: true,
    },
    authors: {
      // Reference types are not embedded.
      // Until this is fixed, we can use a simple list.
      // type: "reference",
      // of: Author,
      type: "list",
      of: { type: "string" },
      required: true,
    },
  },
  // @ts-expect-error TODO: it's conflict with extracted computedFields (This would introduce the error)
  computedFields,
}));

By using the code of the above in contentlayer.config.ts it gives type error. However putting the constant object back fixes this.

@Itsnotaka Please can you elaborate more about the error you are facing? i.e, which line, how to reproduce, file-formats of data etc.
Also if you're using .mdx files then should'nt the logic for extracting slug be different?
// this'll work
slug: {
      type: "string",
      resolve: (post) =>
        post._raw.sourceFileName
          // hello-world.mdx => hello-world
          .replace(/\.mdx$/, ""),
    },

I understand the friction you're facing and agree that it's not ideal. Would having a defineComputedFields function help for your situation?

yeah it would be helpful.

This should be addressed with the 0.3.0 release. 🎉


Use Sum Type instead of Option[SSLContext] for BlazeClientBuilder#apply

Follows up on https://github.com/http4s/http4s/issues/2431#issuecomment-627474729.
Ross suggested using a sum type in https://github.com/http4s/http4s/issues/2431#issuecomment-496961469. Today, my teammates got confused at the Option[SSLContext]'s behavior when upgrading from 0.20.x -> 0.21.4 in http4s.
Those two served as motivations to open this PR.
Hi @rossabaker - please take a look. Thanks!

I'm not sure why that 2.12.11 test failed:
[error] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.2/srcs/sbt-native-packager-sources.jar: download error: Caught java.io.IOException: Server returned HTTP response code: 504 for URL: https://dl.bintray.com/sbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.2/srcs/sbt-native-packager-sources.jar (Server returned HTTP response code: 504 for URL: https://dl.bintray.com/sbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.2/srcs/sbt-native-packager-sources.jar) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.7.2/srcs/sbt-native-packager-sources.jar

https://github.com/http4s/http4s/pull/3422/checks?check_run_id=671336299
I'm guessing it's a flaky failure?

I know that test:compile is broken. However, I'm awaiting Ross's thoughts on https://github.com/http4s/http4s/pull/3422#discussion_r425119221 before proceeding - to confirm/deny I'm moving in the right direction.

Hi @rossabaker - please take a look at https://github.com/http4s/http4s/pull/3422#discussion_r426109334. Other than that, I don't think there's any other comments for to address. Thanks

I closed, and then re-opened, to prompt the tests to re-run. I'm guessing https://github.com/http4s/http4s/pull/3422/checks?check_run_id=687519041 was a flaky test failure since all other builds succeeded.

That TimeoutSpec is flaky on CI.  That's not related to this.

That TimeoutSpec is flaky on CI. That's not related to this.

Thanks, @rossabaker. As a result, I assume that I don't need to get all tests to pass successfully, i.e. it's good as-is?


feat: add support for custom id selector in dataservice entities

Introduced a mechanism to specify a custom id selector for entities in the dataservice. (like for ngrx entities)
When an entity does not have a default identifier named 'id', the custom selector can be used.
The custom id selector must return either a string or a number. enhances flexibility for handling entities with non-standard identifiers in the dataservice.

I'm not sure about what I did; this is my first PR here, and I hope I'm not too far from the solution. Looking forward to discussing any potential improvements.

I dont know why my PR has 9 file changed ? I only change one file and create one under libs directory??

@alcaidio can you please add .nx/workspace-data to .gitignore?

Hey @alcaidio, thanks also for the other PR, but I suggest we make sure that this one gets merged first before continuing.
So you still have the nx/workspace in the PR and the package-lock.json. Both shouldn't be there. Can you please fix that?
Btw, thanks for that unit test. It was urgently needed...

I've updated my PR @rainerhahnekamp , thanks for your work :)
I see the withPagination feature it didn't see it in the readme, is that on purpose?

Thanks. It is not on purpose that withPagination is missing in the docs :)

Hey @alcaidio,
sorry to bother you again:

The CI is failing because of an issue which has been fixed in the meantime. Please rebase
You have an any in some of your methods. Can you replace it?
Unfortunately, we don't have any tests for withDataService. You are not introducing here a breaking change, do you?

I don't know how to solve the problem, I've updated my branch and I can't get the tests to work :/ sorry, it's too complicated for me, I'll come back to it if I have time. thanks anyway.


Problem load BERT-ADA pretrained model

Hi, I want to say the work is really wonderful!
I installed the package and it works! Then I want to see if the other pretained model works, so I downloaded the BERT-ADA pretained model listed on README, specifically, I downloaded laptops_and_restaurants_2mio_ep15.
name = "/home/projects/pre_train_models/laptops_and_restaurants_2mio_ep15"
model = absa.BertABSClassifier.from_pretrained(name)

The error I got is:
OSError: Error no file named ['pytorch_model.bin', 'tf_model.h5'] found in directory /home/projects/pre_train_models/laptops_and_restaurants_2mio_ep15 or `from_pt` set to False

Then I put in from_pt=True
name = "/home/projects/pre_train_models/laptops_and_restaurants_2mio_ep15"
model = absa.BertABSClassifier.from_pretrained(name, from_pt=True)

This time I got AttributeError: 'BertConfig' object has no attribute 'num_polarities'.
I am quite new to this area and experimenting, could you help to solve the issue?
Another question is, where the model is stored? I couldn't find absa/classifier-lapt-0.2 in package folder, or anywhere. I looked at the load.py file, it is supposed to download to a download folder, but I also can't find it. If I find it, I may compare the config.json file with other model.
I have created two conda env, one with transformers==4.2 and another with transformers=2.5, both has the same error indicated above.
Thank you very much!

When I try to load a pretrained model I get the same error. Any solutions?


Removed log4js dependency.

Changes:

log4js is no longer added as npm dependency

default logger is 'console' object

logger injection can be done during initialization, or later as:
nami.logger = mostAmazingLogger;

This would be useful. Is there anything preventing this merge ?

This would be super useful

Why still not merging this? log4js 0.3.9 is using sys instead of util, which is painful due to constant notices of deprecation

Hi guys,
Sorry for the delay, I had other projects to take care of. I've merged these changes and also added the logLevel property, so one can also control the log level of the default logger embedded with Nami ([49b7b3489968a051a5934bed682d54c5c7b5a179]). Could you check it out and let me know your comments?
@kubrey nice avatar, btw! I hope that the log4js warnings didn't affect your bodily fluids too much.
Cheers,


Bugfix/add new at nil on scope change

To fix #211 211

Good catch on this one :) Thanks for the test and fix. Looks good to me. If you can just make that one change I'll merge it for you.

@brendon I fixed the coding style.

Thanks @greatghoul :) All merged.

Thanks for fixing this!
Can we get a new version pushed to rubygems as well?

Yep that's not a problem. I'll push a new version now.


When running theme extension, theme only works every other time

refs #93804:

create new color theme with yeoman
open in VS Code
run theme with F5
stop extension
run theme with F5
stop extension
etc.

Observe:
the theme is only activated every other time

Don't know if this could be related, but the changes I make on my theme only starts to be applied if I change the current "Extension Development Host" to another theme, then back again to my theme. Only after that I can start modifying the theme and get it applied real time.

@rafaelrenanpacheco Not related, but I found the issue and pushed a fix


CleanWindow style not considered for statusbar

My app is using predefined CleanWindow style. However when putting a statusbar inside a window, the background of the statusbar still uses the current MahApps accent-color. Is this the intended behaviour?
The issue can be reproduced by simply inserting an arbitrary statusbar in CleanWindowDemo.xaml from MetroDemo sample-app. See the screenshot below:

The CleanWindow style only refers to the window chrome. Controls such as the StatusBar control are not affected.

Thanks for the clarification. I thought CleanWindow style could be applied like an overall theme and affects also the child controls.
I will simply add an additional "clean" (grey-like) accent style to my application.


[Bug]Dragging and Dropping table widget 'The value at selected-row is invalid' error occurs in the debugger

Description
Release Environment - Table Widget - It is observed that by dragging and dropping Table widget 'The Value at the selected row is invalid' error occurs in the debugger
Expected Result:
Error should not occur by Dragging and Dropping any widgets
Actual Result:
Dragging and Dropping table widget error 'The value at selected row is invalid' occurs in the debugger
Steps to reproduce the behaviour:
1.Launch Appsmith app in the release Environment
2.Expand Widgets
3.Drag and Drop table widget and observe
Video Link:
https://www.loom.com/share/e741880350784267bd70b6e07121d22d
Important Details

Version: [14.1 (166<IP_ADDRESS>.3)]
OS: [MacOS Big sur 11.3]
Browser [Safari]
Environment [Release]

@YogeshJayaseelan was this seen in release before merge?

@somangshu  @prapullac  No we havent noticed earlier. Today i tried to test bug #822 and noticed this issue.
In Safari i could see the entire message - selectedRowIndices.map is not a function. (In 'selectedRowIndices.map( (ind) => filteredTableData[ind], )', 'selectedRowIndices.map' is undefined)
In chrome i could see partial error message - selectedRowIndices.map is not a function

@ApekshaBhosale is this connected to #822, Kindly verify!

@SatishGandham can you look into this?

@somangshu It seems like it has nothing to do with the changes I've made. I checked the same in the release branch it's there too... Maybe you can create a new issue and assign it to me... I've got the root cause for the same.


Not possible to delete feedback

Describe the Bug

At least for the Imprint Feedback, it is not possible to delete it. This is probably related to the usage of the Polymorphic extension.
Steps to Reproduce

Create Feedback with curl -X "POST" "http://localhost:8000/api/augsburg/de/feedback/imprint-page" -d 'comment=not%20workingt!!!!1!'
Go to Augsburg -> Feedback
Select the Feedback
Click 'delete' in the drop-down.

Expected Behavior

The Feedback should be deleted.
Actual Behavior

A message says that the feedback is correctly deleted, but the Feedback remains.

This appears to be a duplicate of #1282, which should have been fixed by now :thinking:
I cannot reproduce this on the current develop branch, could you maybe clear your redis cache and try again?


added clearing of s3 bucket before deploy

added clearing of s3 bucket before upload new static build
removed flag pruneBeforeDeploy flag and re-creating of stack

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


User documentation for Queue Bundle

See https://github.com/mautic/mautic/pull/3873 for more info.

This doc is not showing up in the official Mautic documentation because it's missing a menu item. @mikegillis677 could you please add it?


make the example consistent with the test

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Please delete this note before submitting the pull request.
For 1.15 Features: set Milestone to 1.15 and Base Branch to dev-1.15
For Chinese localization, base branch to release-1.12
For Korean Localization: set Base Branch to dev-1.14-ko.<latest team milestone>
Help editing and submitting pull requests:
https://kubernetes.io/docs/contribute/start/#improve-existing-content.
Help choosing which branch to use:
https://kubernetes.io/docs/contribute/start#choose-which-git-branch-to-use.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

as we take about this pr in https://github.com/kubernetes/website/pull/13705
we should modify the example to consistent tith the test in file :
https://github.com/kubernetes/website/blob/master/content/en/docs/concepts/configuration/assign-pod-node.md

@tengqm @bsalamat @Bradamant3

thanks for the fix @mysunshine92
/lgtm

/assign @zparnold

@zparnold would you like to add approved label? thank you

/assign @bradtopol
@bradtopol can you please help out ? thank you

/unassign @zparnold

/approve


Document from webpage different when loaded inside or outside of method

Hi,
I'm trying to load a webpage with AngleSharp. My code looks like this:
void MyFunction()
{
    forach( string url in GetUrls() )
    {
        MyData = ParseUrl(url);
    }
}

MyData ParseUrl(string url)
{
    var config = Configuration.Default.WithDefaultLoader();
    var context = BrowsingContext.New(config);
    IDocument document;
    do
    {
        var task = context.OpenAsync(url);
        task.Wait();
        document = task.Result;
    } while (document.Body.ChildElementCount == 0);
    // search for classes and attributes here
}

I had to load the page in a loop because otherwise I sometimes got an empty document. This code works fine, the html looks just like in my browser.
Now I wanted to load the document ouside of my parse function and pass the document instead of the url string, like this:
void MyFunction()
{
    var config = Configuration.Default.WithDefaultLoader();
    var context = BrowsingContext.New(config);
    forach( string url in GetUrls() )
    {
        IDocument document;
        do
        {
            var task = context.OpenAsync(url);
            task.Wait();
            document = task.Result;
        } while (document.Body.ChildElementCount == 0);
        MyData = ParseUrl(document);
    }
}

MyData ParseUrl(IDocument document)
{
    // search for classes and attributes here
}

But moving the loading part outside the function (with no other changes) causes my parse method to fail because the elements I searched for could no longer be found. I printed the documents html and it's very different from what is in my browser.
I tried moving the code back and forth several times without changing anything else. It's always the same result/error.

Before going into details it is quite hard to follow if you cannot come up with some HTML / page for making this reproducible.
Furthermore, for me the code above does not make much sense - for instance, the use Wait() instead of just using Result directly if you really want to de-async the code (which you should not) - is questionable.
When you refer to "HTML in the browser" I assume you do not mean "The HTML that the browser sees", but rather "The DOM as I can inspect in the browser". For the latter, in any case make sure that there are no JS fragments making the change. Otherwise, it cannot be compared.
The report also misses very critical information like the used version of AngleSharp or your runtime.
I'd leave it open for now hoping that this becomes somewhat reproducible / filled with all relevant information.


It can not find my PC

Able to discovery on network settings.
But can not get UUID and not sensing as UPnP device

Unless you’ve specifically set up your PC to enable it as a UPnP client, most PCs will not respond.
What is it that you are needing exactly?  Perhaps another driver might be more suitable.  For example I just added a new repository for a PC Control driver that can monitor the on/off state of a Windows PC as well as wake it or shut it down.


HOW TO ADD TITLES????

HOW TO ADD TITLES????

The reel doesn't have a title, only a description, so use description


Add PHP7.1 for TravisCI

Thank you for #204 .
This time it will be PR added only for PHP 7.1 to the support version of TravisCI.
Just as I was testing, I needed to specify test cases and php-cs-fixer version.
I corrected it carefully, so thank you for your review.

An error occurred in CircleCI.
As a result of examining details, 5.5.0 was not included in the PHP version supported by CircleCI.
Details of supported PHP version can be confirmed because "phpenv versions" is executed in the following test.
I have updated to the lowest 5.5.31.
Https://circleci.com/gh/KazuakiM/php-coveralls/58
As the default of PHPUnit has been updated,
I installed version 4.5.0 of PHPUnit in  devtool/composer.json .
This is because TravisCI's PHP version 5.3 could use 4.5.0.
If there is no problem, I will include it in this PR.

I will be saved if I receive the results of the review.
I am working on the following modifications on the premise that CircleCI's modification is already Merge.

Support Appveyor for Winsows (testing now)
Decrease PHPUnit warning for PHP 7.0 and 7.1.

Coverage down correction is completed.
I'm proceeding with the investigation of unsupported codes.
tests/Satooshi/Bundle/CoverallsV1Bundle/Repository/JobsRepositoryTest.php

PHP CS Fixer udpate was made. Please rebase it, as you touched it here as well

Thank you for upgrading PHP CS fixer.
I rebased and checking code now.

I rebased and checking code now.

cool, let me know when it will be ready for review ;)

LGTM.

When I wrote Appveyor's test code, the version of PHPUnit used in TravisCI's PHP 7.x was up, so I responded.

Approyor's support completed locally.
However, I don't have a Windows PC.
I think that as long as I read #203 , I should add Appveyor's support to this PR, what do you think?

This test case is risky test and has not fixed yet.
https://github.com/satooshi/php-coveralls/blob/master/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/ConfiguratorTest.php#L67-L77

I think that this test case is wrong.
Since the default value is always set by the following processing, it is considered not to be a kick.
https://github.com/satooshi/php-coveralls/blob/master/src/Satooshi/Bundle/CoverallsV1Bundle/Config/CoverallsConfiguration.php#L25-L61

Thank you for your work. If you want to work forward on that case, please continue!

Thanks you, @keradus 😁 !!


Any upcoming release?

It's been a while, and i see there are lots of things merged.
Just wondering what the stability of the current main branch is and if a release is suitable?

Hey,
Yes, that’s a fair point. I’ll take a look over the week-end!

Yes I guess a 2.0.0 release is warranted as C++14 is now a requirement.

Done: https://github.com/mat007/turtle/releases/tag/v2.0.0!

The sourceforge documentation doesn't appear to have been updated?  No 2.0 changelog listed, at least.

The sourceforge documentation doesn't appear to have been updated? No 2.0 changelog listed, at least.

Indeed, good catch! 🤦

Fixed now, thanks!


Is there any way to hide minibuffer-prompt?

Hi there,
I would like to make selectrum + mini-frame + posframe pop up as company-mode does, which is pretty funny, but I have no idea how to hide minibuffer-prompt.  Could somebody help me? Thanks! : )

(setq minibuffer-prompt-properties
      (append '(invisible t) minibuffer-prompt-properties))


RPC Error: Pending wallet request will fail to open notification

The problem
There's an issue within Synpress that is hard to deal with and that is the error (see title) that originates from within Metamask itself when there's already a connection pending.
Reproduction
This can easily be reproduced by programming a simple dApp with a connect wallet.
First, use cypress to click connect wallet and then use cy.acceptMetamaskAccess() to approve the connection.
When done with the test, use cy.disconnectMetamaskWalletFromDapp().
When returning, click connection again and try to accept the access once more.
This might fail when metamask is remembering an underlying pending approval, rather than opening a new window.
Example (pseudocode)
describe('Simple connection test', () => {
  context("Test connection on first page" , testConnection(..page))
  context("Test connection on second page" , testConnection(..page))

  afterEach(() => {
    cy.disconnectMetamaskWalletFromDapp()
  }

  function testConnection(page) {
    return () => {
      before(() => {
        page.visit()
      }

      it("Should be able to connect", () => {
        page.connectWalletButton.click()
        cy.log("Connected: " + cy.acceptMetamaskAccess())
      }
    }
  }
}

Issue Diagnosis
Diagnosis tree

plugins\index.js - > acceptMetamaskAccess -> metamask.acceptAccess
commands\metamask.js ->playwright.switchToMetamaskNotification
commands\playwright.js

Window switching
switchToMetamaskNotification within playwright.js uses an arbitrary '50' retry mode with a small delay within each try (realized as a recursive function call) that continuously tries to grab a window which url includes 'notification'. This works if metamask opens the transaction as a new window, which it doesn't do if the approval is pending in the background. When it is metamask will throw the error in the title.
Going to the appropriate window
The notification itself can be found within extension: .. / notification.html
Chromium
Within chromium it is easy to find this window, because the extension ID can be found easily using the chrome store:
https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn
-> nkbihfbeogaeaoehlefnkodbefgpgknn
Those files can then be accessed using base url chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/
So the notification can be found in chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/notification.html
Gecko
Within firefox is a little harder, because the addons use a randomized ID within the runtime.
We can navigate to about:debugging#/runtime/this-firefox
And playwright can find the id by looking for "Metamask" and the internal UUID field.
The plugin can then be accessed at: (example)
moz-extension://17e0af3d-c1cc-442c-b60f-7ea82b39c627/
So the notification can be found in moz-extension://17e0af3d-c1cc-442c-b60f-7ea82b39c627/notification.html
Generalized approach
However, a more fool proof way would be to simply open popup.html as that would automatically redirect itself to the connection logic: (the url should use the #connect anchor)
chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/popup.html
moz-extension://17e0af3d-c1cc-442c-b60f-7ea82b39c627/popup.html
Proposed Change
I propose that the logic on how metamask windows get used within synpress are changed to directly call the plugin windows. This is already done upon start by using playwright to open the metamask plugin window. Using the popup page for direct access within a new tab, rather than scouring for a popup which cannot be triggered. This means some of the logic within the playwright.js will have to change, such as the window assignment. In my mind, popup.html could always be used considering that is what the plugin opens when the metamask icon is manually clicked.
Possible implementation
The following is a draft/generic outline:

Manager class that has one implementation based on the browser engine. Chrome or Gecko (are there other browsers supported with other Add-Ons?). Later on it's possible to keep it even broader and call it WalletManager for potential support of other wallets in the future
The manager class gets initialized when cypress runs
The manager can also keep track of the engine, which gets set in init() within playwright.js, but I'm unsure about the specifics
Switching to Metamask should be as easy as navigating in a new tab to /popup.html, and/or keeping track of the existing tab and use that.
Verifying the state should be possible by asserting the url within the /popup.html page, as metamask seems to create anchors when the state has changed. For example with a confirmation: /popup.html#confirmation
Using just the popup.html in a tab should be enough, as that page is dynamically changing to what is happening within metamask

Classes outline:
Manager Interface:

getAddonId()
ensureMetamaskIsOpen()
switchToMetamask()
assertState(state)

These methods should be enough.
getAddonId() will be returning the ID or UUID for the addon. For chrome this will be set to the plugin ID. Within firefox we need to register the UUID that was assigned in the runtime as stated above. It looks like that UUID varies for each runtime, so it would be wise to grab the UUID every session if it doesn't hinder performance.
ensureMetamaskIsOpen() will be used to ensure that we have the metamask window opened and tracked. If it somehow got closed by any means, this method should ensure that the window is opened again.
switchToMetamask() would be the logic to switch to the tab and navigating to the popup page using the AddonId method, the tab may have to be reloaded to refresh the state
assertState(state) would be a check to confirm that the popup window got into the expected state, such as #confirmation (this will be handy in the scenarios where we don't end up in the state we expect and fix bugs)
Within playwright.js we can change switchToMetamaskNotification to now simply address the manager class, and call switchToMetamask(). We should also be able to merge this with switchToMetamaskWindow, as we no longer really need the concept of using the notification. Using the full window is more reliable. So in the end we should only have switchToCypressWindow() and switchToMetamaskWindow().
I then propose to simplify the logic behind 'activeTabName' and replace it with a boolean isCypressWindowActive, which we can keep false while we're in the metamask window. This will get rid of tracking activeTabName, isMetamaskNotificationWindowActive, and 'isMetamaskWindowActive' can simply return !isCypressWindowActive.
I would also suggest changing assignWindows() to ensure more reliability, and use the manager to ensure the tab is open during the assignment. So instead of tracking the page urls, using the manager's ensureMetamaskIsOpen() method and then grabbing the return value, which would be the the metamask tab that was ensured to be open.
Overall I think this limits the additions and changes neatly, as the logic within metamask.js still simply calls the playwright.js implementation, which is altered and simplified.
Related issues (that should be fixed)
https://github.com/Synthetixio/synpress/issues/592

Hey,
First of all - thank you for your report. It's awesome, clear and ready to be worked on.
I will rewrite the logic for metamask windows when I have some free time (beginning of January). In the meantime maybe someone else will pick this up, but if not - Jan is my deadline.
Thanks,
Jakub.

@drptbl I added my angle of attack in the original post. That's what I think of it with the (limited) knowledge of Synpress that I have. Obviously you know more ins and outs. Let me know if it sounds good to you.

@Jofairden Love it, makes sense and it will be easy to extend it in future. Great job 💪.

Any news on this?

Hey @Jofairden @francesco-gaglione @mitsudani,
Sorry for inconvenience.
Can you try again with<EMAIL_ADDRESS>and report back?
This issue should be fixed now.
Also, if you're using docker-e2e, I suggest to update to one of these:
- synthetixio/docker-e2e:14.21-debian
- synthetixio/docker-e2e:16.19-debian
- synthetixio/docker-e2e:18.13-debian

or..
- synthetixio/docker-e2e:14.21-ubuntu
- synthetixio/docker-e2e:16.19-ubuntu
- synthetixio/docker-e2e:18.13-ubuntu

Thanks,
Jakub.

Hey, this should not be a case anymore.
Please use provided examples inside CI tips & tricks section.
Also, make sure you're on latest<EMAIL_ADDRESS>In details your setup is probably missing xvfb and window manager dependencies.
If you're still going to encounter this issue, please re-open.
Thanks,
Jakub.


Add sample for GenericResource

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


fixed mpi lib name

Hi @huangpingchun, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


Question

Powerline-rs is awesome!
I have a question....
I would like to use a linux desktop with as much rust as possible. Would it be possible to use this the ion shell?

Ion, just like fish, supports using escape characters in shell prompts without any special fuzz. So all you need is --shell bare :)
Will update the README to mention this accordingly!


Expanding SAE evals

Description
Building off discussion with @jbloomAus, this PR adds some metrics (L0, L1, KL divergence, variance explained) to the eval suite in evals.py, cleans up the eval suite, and adds a script to evals.py to run the eval suite on any regex set of SAEs + any group of datasets + any group of context lengths. The eventual goal is to be able to more easily compare SAEs and assess the quality of proposed SAE improvements.
Next steps:

Add additional more interesting metrics to these evals
Add config to specify which evals to run? This will likely be necessary as some evals will require running over a much larger set of inputs (e.g. AutoInterp or Neuron to Graph), and we definitely don't want to do this every eval step during training.
Add the output of these evals to a publicly visible frontend (wandb?)

I haven't added tests because it's not yet clear exactly how we want to integrate these metrics into unit testing, since it can take a while to run the tests, but here is the result of running `python sae_lens/evals.py "gpt2-small-res-jb" "blocks.8.hook_resid_pre" --save_path "gpt2_small_jb_layer8_resid_pre_eval_results.csv" --eval_batch_size_prompts 16 --num_eval_batches 5'
sae_id,context_size,dataset,metrics/ce_loss_score,metrics/ce_loss_without_sae,metrics/ce_loss_with_sae,metrics/ce_loss_with_ablation,metrics/kl_div_score,metrics/kl_div_without_sae,metrics/kl_div_with_sae,metrics/kl_div_with_ablation,metrics/l2_norm_in,metrics/l2_norm_out,metrics/l2_ratio,metrics/explained_variance,metrics/l0,metrics/l1,metrics/mse,metrics/total_tokens_evaluated
gpt2-small-res-jb-blocks.8.hook_resid_pre,64,Skylion007/openwebtext,0.9845677614212036,3.960983991622925,4.076873779296875,11.470545768737793,0.9784350395202637,0,0.1678992509841919,7.785748481750488,150.4132080078125,142.9733123779297,0.9286446571350098,0.8952922224998474,63.646095275878906,188.48428344726562,820.5320434570312,5120
gpt2-small-res-jb-blocks.8.hook_resid_pre,64,lighteval/MATH,0.9586054086685181,3.457794666290283,3.7396981716156006,10.267949104309082,0.9578211903572083,0,0.3119097352027893,7.394940376281738,152.2721405029297,141.8019256591797,0.9004862904548645,0.8332929015159607,67.1050796508789,219.2670440673828,1358.131103515625,5120
gpt2-small-res-jb-blocks.8.hook_resid_pre,128,Skylion007/openwebtext,0.9811103940010071,3.578336477279663,3.7281081676483154,11.507119178771973,0.9785649180412292,0,0.17235903441905975,8.040968894958496,126.40776824951172,118.80797576904297,0.9266132712364197,0.8637218475341797,66.3515625,168.2150115966797,847.5152587890625,10240
gpt2-small-res-jb-blocks.8.hook_resid_pre,128,lighteval/MATH,0.9497612714767456,3.115217924118042,3.4698617458343506,10.174386978149414,0.9544948935508728,0,0.3422759473323822,7.521711826324463,128.04052734375,117.19371795654297,0.8958619236946106,0.7796635031700134,70.74580383300781,201.8173828125,1422.8131103515625,10240
gpt2-small-res-jb-blocks.8.hook_resid_pre,256,Skylion007/openwebtext,0.9705211520195007,3.4974114894866943,3.7319839000701904,11.454726219177246,0.9675344824790955,0,0.2600250840187073,8.009261131286621,114.35155487060547,108.47358703613281,0.9435735940933228,0.8196613192558289,73.0569839477539,178.72763061523438,1090.837890625,20480
gpt2-small-res-jb-blocks.8.hook_resid_pre,256,lighteval/MATH,0.9374359846115112,2.9319350719451904,3.384852647781372,10.17119312286377,0.9416958093643188,0,0.4426324963569641,7.591780185699463,115.85066223144531,108.4005355834961,0.9277817010879517,0.7144442796707153,79.93281555175781,217.1159210205078,1775.419189453125,20480
gpt2-small-res-jb-blocks.8.hook_resid_pre,512,Skylion007/openwebtext,0.9241127371788025,3.218637228012085,3.8472740650177,11.502455711364746,0.9269356727600098,0,0.6009768843650818,8.225316047668457,108.37286376953125,137.26498413085938,1.2824950218200684,-0.1812371015548706,160.3723602294922,349.6664123535156,7341.86279296875,40960
gpt2-small-res-jb-blocks.8.hook_resid_pre,512,lighteval/MATH,0.8801499009132385,2.8067667484283447,3.696810245513916,10.233075141906738,0.8844277858734131,0,0.8902671933174133,7.703125,110.2323226928711,153.8268280029297,1.4150439500808716,-1.0064818859100342,191.05508422851562,464.3595275878906,13022.7548828125,40960

One interesting finding from these new benchmarks is that the L0 (and MSE/var explained) increases drastically with longer context length (which was somewhat expected from the conversation between Joseph Bloom and Sam Marks).
Type of change

[X] New feature (non-breaking change which adds functionality)

Checklist:

[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] I have not rewritten tests relating to key interfaces which would affect backward compatibility

You have tested formatting, typing and unit tests (acceptance tests not currently in use)

[x] I have run make check-ci to check format and linting. (you can run make format to format code if needed.)

Hey Josh,
Thanks again for this PR. Sorry for the delay in responding.
Major thoughts:

[ ] It doesn't make sense to do all the sparsity evaluation work in training and then pop those metrics out. We should just have the training code only get the reconstruction related metrics. (So maybe a little bit of refactoring here required?)
[ ] The KL div should probably be optional as it can be computationally expensive. By default I'd want it off during SAE training.
[ ] Can you please provide a bit of detail / commentary on the stuff you added to the data store for shuffling? Seems good but I want to make sure I understand it.

Next steps:
@JoshEngels If you are able to address the above, we can likely merge as soon as you're done. We should probably do a quick performance test too to see we haven't massively slowed down training (I don't think we should if KL div / sparsity metrics) are turned off.
Specific reponse:

Add config to specify which evals to run? This will likely be necessary as some evals will require running over a much larger set of inputs (e.g. AutoInterp or Neuron to Graph), and we definitely don't want to do this every eval step during training.

Agreed. I think we should maybe separate out a general eval workflow from whatever we do in training though they could rely on some shared implementations to avoid duplication. I think of auto-interp / N2G stuff as kinda seperate but understand why you might want that stuff as well when doing evals. I think it's important to have scripts that make sense on a piece of hardware (Eg: autointerp relying on external LM's is not using the GPU as much so probably that should be a seperate script).

Add the output of these evals to a publicly visible frontend (wandb?)

Sounds great! We can probably whip up a prototype in streamlit or something (save some artefacts / results to disk and then load with plotly express. Use streamlit to play with structure of how we want to present.  Claude could probably produce a decent scaffold in minutes.

One interesting finding from these new benchmarks is that the L0 (and MSE/var explained) increases drastically with longer context length (which was somewhat expected from the conversation between Joseph Bloom and Sam Marks).

Have you see the post I supervised Evan Anders working on? https://www.lesswrong.com/posts/8QRH8wKcnKGhpAu2o/examining-language-model-performance-with-reconstructed

Major thoughts:
I've addressed the first two in the PR by adding an Eval config. The shuffle function just allows us to shuffle Huggingface datasets by using their built in shuffle buffer. Since we already have our own shuffle buffer in the library this isn't useful for the shuffle buffer itself (hence why I set a buffer size of 1), but because it also shuffles the shards of the datasets (per https://huggingface.co/docs/datasets/v2.20.0/stream#shuffle). This means that we can e.g. eval SAEs starting on different shards of a large web text dataset then we trained on.

Have you see the post I supervised Evan Anders working on?
I have, but evidently I forgot all the cool results you guys found :)

Sounds great! We can probably whip up a prototype in streamlit or something (save some artefacts / results to disk and then load with plotly express. Use streamlit to play with structure of how we want to present. Claude could probably produce a decent scaffold in minutes.
I was thinking this sort of thing exactly! Probably next I'm going to add neuron to graph using the OpenAI implementation, once we have that I think this sort of display could show some pretty novel and interesting info :)

In addition to the tests in the PR, I ran a quick test that spun up training a GPT-2 SAE to ensure that the metrics were working and visually it looked okay!

Haven't forgotten about this. I wanted to make sure the eval runner respects the config set in training (which I think now it might partly ignore) but otherwise this is gtg. We'll look into getting some enterprise hosted runners so we can trigger benchmarking of new SAEs :)


i18n(de): Tutorial Translation

Description (required)
This PR merges the full German translation for the Astro tutorial. If you want to add a new page translation, please make a new PR targeting the de/tutorial branch.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note
Locale

src/content/docs/de/tutorial/0-introduction/index.mdx
Localization added, will be marked as complete.
de

src/content/docs/de/tutorial/1-setup/1.mdx
Localization added, will be marked as complete.
de

src/content/docs/de/tutorial/3-components/1.mdx
Localization added, will be marked as complete.
de

src/content/docs/de/tutorial/3-components/index.mdx
Localization added, will be marked as complete.
de

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

There hasn't been any progress here recently, I'll be closing the PR but keeping the branch once someone wants to make new PRs on it!


load_score based on file extension

Right now load_score works by trying all possible parsers in try-except.
While this seems nice, so it can handle files with slightly different extensions strings, it creates many other problems:

speed: for file types at the end of the try except list, all the other parsers need to start and fail before the right one is used
failing clause: sometimes a parser just doesn't fail and yields invalid results. For example there is not universal way of knowing for example if a file is of XML type. I implemented some heuristics for the Kern and MEI parser to stop them earlier, but I'm not sure this is covering all possible cases.

For example I was trying to load musescore scores without having musescore installed. Instead of an error it was loading the musescore file as match file. Producing a score with 0 parts.
All considered I vote to use an extension-based system, where a set of possible extension strings is hardcoded for each file type. E.g., for XML ".musicxml, .mxml, .mxl, .MusicXML, etc.."

From my experience at Apple, where the same software (QuickTime first, and then AVFoundation) could open anything from .mov to .mp3 to .jpg: we insisted on only using file extension, and never sniffing inside the file to see which parser to use. And we were VERY glad of that decision over the years.

I guess this could be a good change, which will reduce some overhead of the try except clauses. Although I was in favor of the original implementation, I've come to see that there are a few quirks that would require unnecessarily convoluted bolierplate code. So yes, I think it would be better to just check the extension.

Ok, I will work on that then!


Send text with emoji to server.

Hello,
I have problem with send the text with emoji to server.
When I send they are becoming to ???.
Server side work perfectly, because I have tested it with the iOS version.
Any suggestion?
Thanks,
Vardan

I got the solution for saving Emoji in Database
do it like this in android code

Encoding:

byte[] data = editTextFieldWithEmojis.getText().toString().getBytes("UTF-8");                 base64String = Base64.encodeToString(data, Base64.DEFAULT);

Decofing

byte[] data = Base64.decode(stringWithEmojis, Base64.DEFAULT);                 newStringWithEmojis = new String(data, "UTF-8");


Forwards-Mode Design Docs

This is initial work on my thinking regarding forwards-mode AD. I wanted to have finished a complete draft today, but the day got away from me. A complete draft should be finished tomorrow, at which point I'll ask for review.

@gdalle I think you could take a look at this now. Please feel free to push directly to it if there are changes that you would like to make.

Thank you for this very useful clarification! My two remaining questions are:

Is there a reason to use both rule_for_fun and frule!!(::typeof(fun)) in the tutorial? Do they refer to different things?
Is there a better terminology than compile time vs run time in this case? Because both rule generation and rule execution technically happen at run time?

Is there a reason to use both rule_for_fun and frule!!(::typeof(fun)) in the tutorial? Do they refer to different things?

My intention here was to make rule_for_fun be some as-yet-unspecified callable which does what I say that a rule ought to do (without specifying how). i.e. I just want to use rule_for_fun to set up what the rule interface looks like.
frule!! and DerivedFRule are meant to be the concrete instantiations of things which satisfy the rule interface.
Do you think I should add a sentence somewhere to make this clearer?

Is there a better terminology than compile time vs run time in this case? Because both rule generation and rule execution technically happen at run time?

Good point. Do you think just referring to "rule compilation time" and "rule run time" or something would make sense? Or perhaps "rule generation" and "rule execution", as you propose?

Do you think I should add a sentence somewhere to make this clearer?

Yes.

Good point. Do you think just referring to "rule compilation time" and "rule run time" or something would make sense? Or perhaps "rule generation" and "rule execution", as you propose?

Either is fine I guess.

Great. I've tweaked the doc to reflect the changes. I was only able to find a single example of discussing compile time when I searched the document -- possibly I've missed more examples where I discuss it?

I think it makes sense but I won't know what info I've missing until I've started!

@willtebbutt could you clarify why the function argument in this section appears in a QuoteNode? It's one of the more confusing aspects of metaprogramming for me

I have a more philosophical question about this page, which can also clarify reverse mode. The Mooncake implementation replaces f with rule_f inside the IR and then steps outside of the IR to use multiple dispatch on the rule. Is it the only way to modify the IR recursively? Or could we for instance inline all of it?

Agreed, and this is shaping up rather nicely in #389.
@willtebbutt maybe we can merge this docs PR and then revisit it as we make progress?

Sounds good. I'm going to quickly add a section comparing ForwardDiff.jl to this (mainly to make sure we've noted down some of the things that @yebai has noted above), then I'll merge.

I have a more philosophical question about this page, which can also clarify reverse mode. The Mooncake implementation replaces f with rule_f inside the IR and then steps outside of the IR to use multiple dispatch on the rule. Is it the only way to modify the IR recursively? Or could we for instance inline all of it?

Apologies, I missed this. I'm not quite sure what you mean by and then steps outside of the IR to use multiple dispatch on the rule -- could you elaborate a bit @gdalle ?

I mean that most of the differentiation work happens outside of the IR, by hooking into alternative high-level Julia functions (frule(f, ...) instead of f). Is it the only way to do it?
Intuitively, my expectation was that there would exist some "completely inlined" version of the IR where we would do all the changes at once?

I think this is more or less the only way to do it. One reason is that, since dynamic dispatch is a thing, you don't know what all of the code is at rule-generation time, so there's no way that you could inline everything.


Remove roles on verify, Discord v13, Adding rules support

Heyo, love your project. Some people want to have roles removed upon verification.
IE:
When user joins they have a pending role that should be removed upon verification...
This PR will add exactly just that!!
Please remember, this PR is a WIP and I am still editing some last things, Will make it clear when it's ready!

I removed package-lock.json since it should be generated on user's end!

Hey, this was fun doing this little project and I hope you push this PR through. I put tons of time and effort into this. I hope you enjoy!
I bumped discord to v13
Rewritten the connection system
Removed the old part of config which had a toggle intent, no longer needed since intents are forced in v13
Updated readme for node js 16, since discord v13 only supports 16.
Added rules support with buttons and more.
Added remove role, in case a user wants a role to be removed upon verification.
Thank you for your time reviewing this PR.
:)


TypeScript extension ignores type guards on properties

From @Tomeamis on June 24, 2018 15:29
Issue Type: Bug
In the following TypeScript snippet
let obj: any = {cpp: ["hello"]}
if(obj && typeof obj === "object" && (obj.cpp instanceof Array))
{
	let cpp = obj.cpp as Array<any>
	return cpp.every(val => typeof val === "string")
}

I would expect obj.cpp to be considered any[] inside the if block.
However, when I hover over obj.cpp in the if block, the hover still says the type is  any. This also affects code completion.
Note that when I only do
if(obj instanceof Array)
{
	obj
}

the obj in the if block is correctly reported as any[].
VS Code version: Code 1.24.1 (24f62626b222e9a8313213fb64b10d741a326288, 2018-06-13T17:51:32.889Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz (8 x 2295)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: enabledvideo_encode: enabledvpx_decode: unavailable_softwarewebgl: enabledwebgl2: enabled

Memory (System)
7.89GB (3.24GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe C:\Dev\youcompleteme-vscode

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

doxdocgen
csc
0.3.1

sftp
lix
1.2.2

youcompleteme-vscode
Tom
0.2.2

Copied from original issue: Microsoft/vscode#52757

May be a design limitation. Since obj is any, there's no property declaration for cpp.
The following would work:
const { cpp } = obj || {};
if(cpp instanceof Array) { cpp; /*type is any[]*/ }

Yes, there are ways to get around it, as I did in my example.
But point is, you shouldn't have to.
Since the only way execution can get inside that if block is if obj.cpp is an any[], TypeScript could deduce that type of obj.cpp is indeed any[].


Design: nested _meta

I'm opening this on the dask board as it is the first package that came up with the idea of the _meta property, but this is really of interest of all NEP18-compatible packages that wrap around other NEP18 packages.
I'm in the early stages of a project where I will likely need to use xarray, pint, dask, and sparse within the same object. In addition to this, I believe I saw on the sparse board some discussion about using CuPy (or similar) for GPU acceleration.
This could potentially translate to
an xarray.DataArray
that wraps around a pint.Quantity
that wraps around a dask.array.Array
that wraps around a sparse.COO
that wraps around a cupy.array
and in theory, it should just work as long as all the libraries in the stack implement the relevant numpy functions.
Ideally, as a final user I would like to see all of this information when invoking repr() on my top level object, something like
<xarray.DataArray (x: 100)>
<pint.Quantity::dask.array::sparse.COO::cupy.array,
 unit="seconds", dtype=int64, nnz=2, fill_value=0, Device=0>

This thread is to understand:

how to best represent this kind of arbitrarily nested meta data,  both as a data structure and as a __repr__
if it should be formalized through a NEP

@shoyer
@keewis
@hameerabbasi
@mrocklin

Sparse heavily uses Numba... So I guess it's hard to do the last step. 😄 But the rest is certainly possible.

@hameerabbasi indeed if, in the future, sparse will wrap around a GPGPU library, it will need to write a specialized variant of all numba kernels and won't be able to fully benefit from NEP18.
Still, starting from the moment your library will support backends other than pure numpy, it could benefit from a standardised _meta attribute...

I suspect that we would want to write custom kernels anyway for
performance.
On Tue, Aug 27, 2019 at 11:21 AM crusaderky<EMAIL_ADDRESS>wrote:

@hameerabbasi https://github.com/hameerabbasi indeed if, in the future,
sparse will wrap around a GPGPU library, it will need to write a
specialized variant of all numba kernels and won't be able to fully
benefit from NEP18.
Still, starting from the moment your library will support backends other
than pure numpy, it could benefit from a standardised _meta attribute...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/5329?email_source=notifications&email_token=AACKZTHN7KBJ6YRMQ7CCOVDQGVWB5A5CNFSM4IQG2RS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5IVIAI#issuecomment-525423617,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACKZTHR3EIZEPRCGZ63LALQGVWB5ANCNFSM4IQG2RSQ
.

hgrecco/pint#845 might be related?
cc @jthielen

cc @pentschev (who may be interested here 🙂)

Did we ever come to a conclusion on how to compare positions in the type hierarchy from hgrecco/pint#845? I'd like to be able to rewrite a __array_function__ or __array_ufunc__ so that it returns NotImplemented if the other object is higher in the type hierarchy.
Right now, pint maintains a list of types that are higher in the hierarchy. xarray seems to be doing the same for its implementation of __array_ufunc__, except that it lists the types lower in the hierarchy. These explicit lists have the obvious disadvantage that for every new type the library has to be updated.
Apologies if this has been discussed elsewhere, I could not find anything relevant that answered my question.

@keewis I'm not aware of anything either; it seems like the hierarchy from https://github.com/hgrecco/pint/issues/845 (now in the Pint docs) is current state of things.
My assumption so far has been:

for types higher on the type hierarchy (e.g., xarray DataArray/Variable/Dataset, Pint Quantity), explicitly list types above it, and assume they can wrap all other duck arrays
for types lower on the type hierarchy (e.g., CuPy, sparse, masked arrays), explicitly list types below it, and defer to any other duck array
for types in the middle (e.g., Dask arrays) make a judgement call between the two (based on https://github.com/dask/dask/issues/4583, Dask is aiming towards the latter)

But, this is just my interpretation of all that's been said so far here and in other issues. It would be great to have some clearer guidance (or even an "Informational NEP" like that mentioned by @shoyer in https://github.com/hgrecco/pint/issues/845#issuecomment-525498066).

Also, from an implementation point-of-view, right now the hierarchy described above is currently held-up/broken by:

https://github.com/dask/dask/issues/4583
https://github.com/numpy/numpy/issues/15200

I've been wanting to help with these, but I've unfortunately not had the time these past several months, and I'm really not sure how the coming days and weeks are going to go either.

we seem to have (at least) four unresolved issues with nested duck arrays:

construction: how do we make sure duck arrays are always nested in the same way?
interaction: how do we make sure interactions between different duck array classes are not implemented multiple times? e.g. x + y and y + x should always have the same result
how do we call methods on wrapped arrays? e.g. with pint(dask(sparse)), how do we call to_dense and get a pint(dask(numpy)), without having dask know about sparse?
repr: how do we construct a repr that includes the metadata from all levels of nesting?

I'm totally not sure any of the ideas I came up with are actually viable so I'm hoping for feedback.
construction of nested duck arrays and interactions between different types of duck arrays
For the construction and interaction, the type hierarchy from hgrecco/pint#845 could be used, but we'd still need to figure out how to compare within that hierarchy, and we'd probably have to maintain a package that collects the relationships between different packages.
Similarly, we could have duck arrays maintain a list of duck arrays they can wrap. This is still pretty static and might grow too much for packages that are fairly high in the type hierarchy, but would allow to granularly control the interaction with other duck arrays.
In #6393, it was suggested to divide duck arrays into categories and then have duck arrays in categories with a higher number take care of those in a category with a lower number. However, this breaks down as soon as you have duck arrays that belong to multiple categories (or have two duck arrays that belong to the same category wrap each other), and adding new categories is difficult (at least for numeric numbers).
Using that idea, we could have duck arrays declare a tuple of categories they belong to and then a tuple of categories they can wrap. We could then compute a set operation to decide which is wrapped, but this still breaks down for coarse categories (duck arrays in the same category wrapping each other) and circular graphs (i.e. A is in categories x and z and can wrap y while B is in category y and can wrap x) – not sure if that's an issue?
calling methods on wrapped methods
To solve this, at the moment pint will pass through attribute access for methods it doesn't know. This has a few issues: these methods will remove the nesting (which might sometimes be intended), and it is easy to shadow methods (e.g. a duck array might declare a magnitude method).
Instead, we could use type accessors: arr.sparse.to_dense() would convert a pint(dask(sparse)) array to pint(dask(numpy)) by calling self._data.sparse.to_dense() until the name is the name of the type / library. Deciding if the nesting was intentionally removed is pretty difficult, though: maybe only if the result is not a duck array?
This is very explicit, but it involves __getattr__ to be truly dynamic and might be shadowed by any of the duck array. So I guess to avoid the __getattr__ magic, and to minimize the attribute shadowing, we could use a method with a string parameter: arr.array_method("sparse").to_dense() (I'm sure we can come up with a better name).
repr
Simply including the repr of the wrapped array usually results in reprs that are way to long, so instead we could introduce a protocol that returns a mapping of type names to metadata, and a function to call that protocol. If a duck array does not implement the protocol, the default would be to return {typename: {}}.
For example calling repr(arr) where arr is a xarray(pint(dask(sparse))) would make xarray call the data's __metadata__ and use that to construct it's repr. This could be something like
def __metadata__(self):
    wrapped_metadata = self._data.__metadata__()
    metadata = {
        "a": str(self.a),
        "b": str(self.b),
    }
    # or something like {**wrapped_metadata, **{type(self).__qualname__: metadata}
    return wrapped_metadata | {type(self).__qualname__: metadata}

In the example, the result of the first call could be something like:
{
    "sparse.COO": {"shape": (30, 1000), "dtype": "float64", "nnz": 768, "fill_value": 0},
    "dask.array.Array": {"chunks": (10, 100), "shape": (30, 1000), "dtype": "float64"},
    "pint.Quantity": {"units": "m", "shape": (30, 1000), "dtype": "float64"},
}

with that, xarray could either manually format the repr or use a helper function.
This doesn't work for duck arrays wrapping more than a single duck array, though. Also, I'm not sure if the type name should be the type's __qualname__, and if shape and dtype, which every duck array has to implement as properties, should be included.
xref dask/dask#6393, pydata/xarray#4324, pydata/xarray#4248

It might be nice to write these up as separate issues.

as suggested by @hameerabbasi, I opened separate issues for each of these (no real write up, though, I simply copied them)


Update zio, zio-test, zio-test-sbt to 1.0.4

Updates

dev.zio:zio
dev.zio:zio-test
dev.zio:zio-test-sbt

from 1.0.0-RC17 to 1.0.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Migrations

github:zio/zio/CurriedAssert?sha=v1.0.0-RC18

Files still referring to the old version number
The following files still refer to the old version number (1.0.0-RC17).
You might want to review and update them manually.
project/Dependencies.scala

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

labels: library-update, semver-pre-release, scalafix-migrations, old-version-remains

Superseded by #99.


Don't Update Mastertoggle Icon after changed talent or changed Specialization

Nerdpack Ver : https://github.com/MrTheSoulz/NerdPack/commit/71231f6387c454eaff890ac21bb2cc0fe6942c98
L.Interface:UpdateIcon('mastertoggle', eval[1].icon) (/system/parser.lua:160) is no work after changed talent or changed Spec or changed Spell(like change Death Sweep to Blade Dance used Metamorphosis)
i use nerdpack and keysender base color-picker(selfmade). so i need ur help for fix it.

need to force re-compile, will look into it

should be done now


com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Missing type id when trying to resolve subtype of [simple type, class org.consenlabs.tokencore.foundation.crypto.Crypto]: missing type id property 'kdf' (for POJO property 'crypto')  at [Source: (File); line: 1, column: 306] (through reference chain: org.consenlabs.tokencore.wallet.keystore.IdentityKeystore["crypto"])

建完钱包后，重新进去app，获取当前身份报这个错误

This issue will be closed as it has not update for a long time. You can reopen it if you have any other problem

是jackson没加混淆 加什么？


Refactoring: remove touch attribute from get_metric

A boolean modifying the behavior of a method can be confusing.
Callers with the need to touch the metric will have to call it manually

can you rebase and merge ? thanks !


String representation of Ksuid(s)

Hello,
How exactly do i store these ksuid(s) in db as str? and are these still sortable if they are of type str?
Also kindly suggest what is the correct way to generate these ids in a web app.

Closing this, as the questions have been answered.