Cant use nwbuild

Issue Type

[ ] Bug Report
[ ] Feature Request
[x] Other

Current/Missing Behaviour
It doesnt work, just gives an error
fs.js:44
} = primordials;
    ^

ReferenceError: primordials is not defined
    at fs.js:44:5
    at req_ (/usr/lib/node_modules/node-webkit-builder/node_modules/natives/index.js:143:24)
    at Object.req [as require] (/usr/lib/node_modules/node-webkit-builder/node_modules/natives/index.js:55:10)
    at Object.<anonymous> (/usr/lib/node_modules/node-webkit-builder/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (node:internal/modules/cjs/loader:1369:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1427:10)
    at Module.load (node:internal/modules/cjs/loader:1206:32)
    at Module._load (node:internal/modules/cjs/loader:1022:12)
    at Module.require (node:internal/modules/cjs/loader:1231:19)
    at require (node:internal/modules/helpers:179:18)

Node.js v20.12.2

Expected/Proposed Behaviour
I wanted to build executable for linux
Additional Info

Package version: 1.0.13
Operating System: ArchLinux
Node version: v20.12.2
NW.js version: 0.86.0-2
Repro link:
...

(Im not very good at English, and i dont open issues at github oftenly, and sorry if im not mentioned something important)

primordials is a feature that was built in to very old versions of Node.js. You should either use a tool like Volta to manage your Node version, so you can switch to an old version of Node.js. Or you should update to a newer version of nw-builder. You are on version 1.0.13 (9 years old), the latest is 4.7.1.

https://github.com/nwutils/nw-builder/releases

npm uninstall node-webkit-builder
npm install nw-builder@latest
Then look at the documentation for how to use the latest version.

primordials is a feature that was built in to very old versions of Node.js. You should either use a tool like Volta to manage your Node version, so you can switch to an old version of Node.js. Or you should update to a newer version of nw-builder. You are on version 1.0.13 (9 years old), the latest is 4.7.1 (2 weeks old).
* https://github.com/nwutils/nw-builder/releases

npm uninstall node-webkit-builder
npm install --save-dev nw-builder@latest
Then look at the documentation for how to use the latest version.

i did what you said and i got this
Error: package.json not found in srcDir file glob patterns.
    at Object.getNodeManifest (file:///usr/local/lib/node_modules/nw-builder/src/util.js:163:11)
    at async nwbuild (file:///usr/local/lib/node_modules/nw-builder/src/index.js:51:16)
node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: package.json not found in srcDir file glob patterns.
    at Object.getNodeManifest (file:///usr/local/lib/node_modules/nw-builder/src/util.js:163:11)
    at async nwbuild (file:///usr/local/lib/node_modules/nw-builder/src/index.js:51:16)

Node.js v20.12.2

You'll have to post a link to your project, the error is related to your project files

Without knowing the specifics you have two options:

Disable globbing if your srcDir is just one dir

nwbuild({
  glob: false
});

2. Pass the file path to your NW.js manifest before other files:

```js
nwbuild({
  srcDir: './package.json ./nwapp'
})


Initial implementation

Initial implementation of Async Component interface

Will need to fix non-windows lint step in another PR


eslint-disable doest not work for vue template

The usage can be found here: https://vuejs.github.io/eslint-plugin-vue/user-guide/#disabling-rules-via-eslint-disable, which works well in eslint cmd line.

@gaoshijun1993 can you please provide me with a GitHub repository I can clone which demos the problem.


Bug🐛: Update link boxes on /docs page

Describe the bug.
The current layout for the link boxes is about 75% page width for desktop browsers.  Consider editing the link box classes to instead use a 50% width and fit two across.
Describe the steps to reproduce the behavior
No response
Expected behavior.
No response
Screenshots.
No response
Operating environment
desktop browsers
Additional context
No response

Here's our basic guidelines: https://github.com/open-horizon/.github/blob/master/CONTRIBUTING.md

Fixed, closing.


Translate to Italian

Describe the solution you'd like
The Italian application.php and cup_rounds.php is still using the English translations. Translate it to Italian.
Additional context
#1

On it


google picker UI is not wokring

google picker auth is not migrated to google Identity Services library
{       error: "idpiframe_initialization_failed"      details:"You have created a new client application that uses libraries for user authentication or authorization that will soon be deprecated. New clients must use the new libraries instead; existing clients must also migrate before these libraries are deprecated. See the [Migration Guide](https://developers.google.com/identity/gsi/web/guides/gis-migration) for more information." }

same here.. why did I expect this.

The picker sample has been updated to use GIS.


Can't push foreign key add to remote DB

Bug report
Describe the bug
When using supabase db push to deploy a schema change I get the following error:
$ supabase db push
Applying unapplied migrations...
Error: ERROR: must be owner of table leaderboard (SQLSTATE 42501)

To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Add a foreign key to a table and generate a migration using supabase db commit. Here's what it produced for me:

ALTER TABLE IF EXISTS public.leaderboard
  ADD CONSTRAINT "leaderboard_userId_fkey" FOREIGN KEY ("userId")
  REFERENCES public.users ("userId") MATCH SIMPLE
  ON UPDATE NO ACTION
  ON DELETE NO ACTION;

Try to push the schema update using supabase db push
See the error message above

Expected behavior
I expect the remote schema to be updated as intended.
System information

OS: Arch Linux
Version of supabase-cli: 0.15.14
Version of Node.js: 17.3.0

If someone else has the same issue a quick workaround is to use the UI to temporarily change owners then revert back:
alter table public.yourtable owner to supabase_admin;
/* Run your migrations */
alter table public.yourtable owner to postgres;

Thanks @madx - the solution is to simply run ALTER TABLE your_table OWNER TO postgres. Right now tables created using the table editor is owned by supabase_admin but we might change this in the future.

We have addressed this in https://github.com/orgs/supabase/discussions/9314 so all your tables and schemas are owned by postgres role.
If that is not the case, please file a support ticket so that we can fix it for your project.

@sweatybridge Hi, I'm getting this error all of the sudden on my prod DB. Can't update any columns "failed to update pg.tables with the given ID: must be owner of table [name of table]", and ERROR:  42501: must be owner of table exports results from trying to fix it with any SQL commands to alter the table owner. Can you help?


Preferences: cannot find "cssempty" or "css empty"

Steps to Reproduce:

follow the smoke test and try to find the setting "css.lint.emptyRules"
neither typing "cssempty" nor "css empty" finds it :(

It's unfortunate that this was not shown. Setting (Description, key, value) does not contain css and empty together. Currently search is fuzzy only on description and normal on keys and values. I have a plan to improve search and efficient this milestone.  This is one case where I should do split word search in complete setting.

I would say this is a very common thing our fuzzy search should support.


⚠ Samsung has degraded performance

In e8c745c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2733 ms

Resolved: Samsung performance has improved in 7af22e8.


Output version <> Actual response

Hey, I'm using Stepwise Planner and I'm wondering why the output of Copilot is different from the final answer according to the Planner...would it have to do with the token limit or something like that and so it shrinks down the answer? or is it something else?

It may be drawing information from chat history or some additional signal.  Could you provide the entire raw prompt?

@crickman I'm seeing the same problem too: #293

@miguelhermar @samleegithub This is expected because the planner serves to provide supplementary information to the greater bot response prompt. The Bot Response prompt is rendered after multiple calls to the LLM (i.e., user intent, audience extraction, memory extraction, planner external information).
So what happens here is the "Final Answer" of the Stepwise Planner is provided in the ExternalInformation section of the meta-prompt, and then this meta-prompt is passed to the LLM on the final pass and the completion of the meta-prompt template is what's used as the answer for CC.
This is more clear if you look at the Raw Content tab, which is the raw meta-bot response prompt template that's passed to the LLM on the final hop. What's listed between [Source Start] and [Source End] is the result from the Stepwise Planner


canvas-datagrid crashed after cell.innerHTML property gets non-latin symbols

Expected behavior and actual behavior.
Try to double click some cell and input some text in Russian: "Спартак чемпион!"
Expected result: text saved
Actual result: Exception raised in console and view is broken
Specifications like the version of the project, operating system, or hardware.
Chrome Version 59.0.3071.86 (Official Build) (64-bit), Ubuntu 16.04

Oh wow.  I've never tired editing a cell with Russian in it.  I'll file this as a bug and get it fixed.

I'm not able to reproduce this error.  I'm able to enter the text you provided into an inout.  I'm not using Ubuntu, I'm using OSX.  Can you tell me what the exception is?  Maybe I can figure it out just based on that.
Proof I really did try:
http://h.dropcanvas.com/tvpaf/Screen Shot 2018-06-10 at 9.53.09 PM.png
I'll try again using whatever emulators I can dig up.

Thank you for checking!
I try to reproduce it and found right way to do it. This bug related to cell.innerHTML property.
For example try to use next line of code:
  grid.addEventListener('rendercell', function (e) {
        e.cell.innerHTML = '
Спартак чемпион
';
    });

Sorry for confusing, I didn't know that this is specific for innerHTML property, not for common library behaviour.

Error log is:
/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9 Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
    at n (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:18754)
    at eval (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:29626)
    at y (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:30407)
    at eval (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:32943)
    at Object.e.draw (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:33246)
    at Object.e.endEdit (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:120075)
    at HTMLCanvasElement.e.click (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:54456)

I make temporary solution for this in my code with next way:
      const errorDiv = `<div style="display: inline-block; margin-left: 5px; font-size: 10px; bottom: 2px;">${cell.error}</div>`;
      const valueDiv = value ? `<div style="display: inline-block;">${value}</div>` : '';

      try {
        btoa(value);
        cell.innerHTML = `${valueDiv}${errorDiv}`;
      } catch (e) {
        cell.innerHTML = errorDiv;
      }

but it new error appears if value contain '&' symbol:
Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The HTMLImageElement provided is in the 'broken' state.
    at n (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:18575)
    at eval (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:29626)
    at y (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:30407)
    at eval (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:32943)
    at Object.e.draw (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:33246)
    at HTMLCanvasElement.e.mousemove (/node_modules/canvas-datagrid/dist/canvas-datagrid.js:9:54088)

Oh wow!  Any reason you're not using cell.value?  You only need to use the innerHTML property if you're trying to draw HTML onto the canvas.  cell.value is much, much, cleaner and faster.
I changed the name of the issue to reflect that the bug is related to innerHTML and not input (although input is how it got in).

Hi, @TonyGermaneri. Thank you for you quickly answer.
In my business logic I have some validation rules for few columns. For example I need to check that in column "AC" there is valid url string.
If user input invalid url string I draw the cell in red color, write string in one div and error message in another div (with more smaller font). It will be too helpful if you have idea how to implement it without using innerHTML property :) Now I have no idea :(

It's impossible just to disallow user to write invalid strings, because of he imports data from excel or csv file and I need to show a lot of validation errors (if he has it of course)

Yeah, wow, it's not something I ever considered.  It may be useful to implement some basic HTML commands that can be interpreted by the lib.  Let me research a bit on how to add this as a feature in the native canvas text.

As far as fixing the immediate problem of characters throwing errors: you can probably fix this by determining the correct encoding method for the Cyrillic characters.
var grid = canvasDatagrid({
    parentNode: parentNode,
    data: [
        {col1: 'Спартак чемпион!', col2: 0, col3: 'a'}
    ]
});
grid.schema[0].type = 'html';
grid.formatters.html = function (cell) {
    return unescape(encodeURIComponent('
' + cell.value + '
'));
}

Basically anything going into innerHTML needs to pass through unescape(encodeURIComponent()) to ensure it is always Latin1.
Успех!
You can use a formatter function to reformat the non-ascii text into ascii text with html entity encoding for the non-ascii characters.

Thank you a lot! I'll try to use it tomorrow :)

I looked at added this but the spec basically says that when you're using Latin1 the Cyrillic characters always have to go through the enc/dec function, since I can't detect in any nice way if people are passing non-Latin1 and they can specify their own character set as well as use the above work around I'm going to just create a tutorial that describes how to change character sets and use the workaround if you're stuck in latin1, but I don't think modifying the source is helpful.


python3Packages.pyhomepilot: init at 0.0.3

Motivation for this change
Python module to communicate with the Rademacher HomePilot API
https://github.com/nico0302/pyhomepilot
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 128242 run on x86_64-linux 1

2 packages built:

python38Packages.pyhomepilot
python39Packages.pyhomepilot


text in two lines not ellipsis

Describe the solution you'd like
text in two lines
Describe alternatives you've considered
texto mas pequeño
Additional context
Lorem
ipsum
not
Lorem...

I assume you're talking about labels in x-axis which are truncated by ellipsis.
If yes, I will think about that option.
Also, this will be possible in category axis charts and not datetime. One option is to provide category labels in array format like this:
categories: ['Apples', ['Blueberries', 'Strawberries'], 'Mangoes']

The array labels can then be drawn in separate lines.

Can I have x-axis labels in two lines ?


Firebase crashes for layout are kinda useless

Using the Flutter Crashlytics plugin and having some devices with issues on layout (width or height overflow), Firebase shows us this:

But there is no information whatsoever what widget is to blame (that would be our code), making this issue hard to track and utterly useless.

Hi @JCKodel, this seems like it should be reported in the flutter_fire repo.
As such I'll be closing this issue. If you are redirected here from there, kindly leave a comment below and I will reopen this issue.
Thank you


Clarify the role of dockerhost in the apt-cacher-ng example.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "alxempirical-20160618-clarify-role-of-dockerhost" git@github.com:alxempirical/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

its better to base from the branch that you're merging into, but in this case, it looks ok
LGTM


proposal: testing: report failing test after panic

When a test panics in a table-driven test, it is difficult to tell which case caused the failure. For example:
func Test(t *testing.T) {
        for _, test := range []int{1, 2, 0, 3} {
                t.Run(fmt.Sprintf("%v", test), func(t *testing.T) {
                        _ = 1 / test
                })
        }
}

panic: runtime error: integer divide by zero [recovered]
        panic: runtime error: integer divide by zero

goroutine 8 [running]:
testing.tRunner.func1(0xc0000ac400)
        /usr/lib/google-golang/src/testing/testing.go:830 +0x388
panic(0x511aa0, 0x623f00)
        /usr/lib/google-golang/src/runtime/panic.go:522 +0x1b5
_/usr/local/google/home/dneil/src/testpanic_test.Test.func1(0xc0000ac400)
        /usr/local/google/home/dneil/src/testpanic/panic_test.go:11 +0x24
testing.tRunner(0xc0000ac400, 0xc00005c490)
        /usr/lib/google-golang/src/testing/testing.go:865 +0xc0
created by testing.(*T).Run
        /usr/lib/google-golang/src/testing/testing.go:916 +0x357
FAIL    _/usr/local/google/home/dneil/src/testpanic     0.018s

We know that testpanic_test.Test panicked, but we don't know which test case is to blame.  You can get a much more useful error by manually recovering the panic and converting it to a t.Fatal:
func Test(t *testing.T) {
        for _, test := range []int{1, 2, 0, 3} {
                t.Run(fmt.Sprintf("%v", test), func(t *testing.T) {
                        defer func() {
                                if err := recover(); err != nil {
                                        t.Error(string(debug.Stack()))
                                        t.Fatal(err)
                                }
                        }()
                        _ = 1 / test
                })
        }
}

--- FAIL: Test (0.00s)
    --- FAIL: Test/0 (0.00s)
        panic_test.go:14: runtime error: integer divide by zero

            goroutine 8 [running]:
            runtime/debug.Stack(0xc000046670, 0x512aa0, 0x625f00)
                /usr/lib/google-golang/src/runtime/debug/stack.go:24 +0x9d
            _/usr/local/google/home/dneil/src/testpanic_test.Test.func1.1(0xc0000ac400)
                /usr/local/google/home/dneil/src/testpanic/panic_test.go:14 +0x57
            panic(0x512aa0, 0x625f00)
                /usr/lib/google-golang/src/runtime/panic.go:522 +0x1b5
            _/usr/local/google/home/dneil/src/testpanic_test.Test.func1(0xc0000ac400)
                /usr/local/google/home/dneil/src/testpanic/panic_test.go:17 +0x7c
            testing.tRunner(0xc0000ac400, 0xc00005c490)
                /usr/lib/google-golang/src/testing/testing.go:865 +0xc0
            created by testing.(*T).Run
                /usr/lib/google-golang/src/testing/testing.go:916 +0x35a
FAIL
FAIL    _/usr/local/google/home/dneil/src/testpanic     0.016s

I propose that the testing package do something like that automatically. Perhaps rather than converting the panic to a t.Fatal it should print the failing test name and continue panicking; the important point is to provide information about which test case triggered the panic.
This doesn't help with panics in goroutines started by a test, of course.

It doesn't seem like we can recover during panic, but printing more information as the panic passes by seems like something we should investigate. At the least, we should print the name of the (sub)test that panicked, but we should probably also flush the current test output log, which would mean formatting a failure as well.
Does anyone want to sketch out details for this?

I can try prototyping something if we're okay with the idea in principle.

Turns out we already flush the test output log on panic, but we don't recursively flush it up to the root so subtest output gets lost. https://golang.org/cl/179599 flushes output to the root, and adds an explicit ==== PANIC (test name) message at the end just to make it clear.
Example output with this change:
--- FAIL: Test
    --- FAIL: Test/1/0
=== PANIC  Test/1/0
panic: runtime error: integer divide by zero [recovered]
	panic: runtime error: integer divide by zero

goroutine 36 [running]:
testing.tRunner.func1(0xc0000c4300)
	/Users/dneil/src/go/src/testing/testing.go:882 +0x5ff
panic(0x111bfa0, 0x1230f50)
	/Users/dneil/src/go/src/runtime/panic.go:619 +0x1b2
foo.Test.func1(0xc0000c4300)
	/Users/dneil/src/testpanic/panic_test.go:11 +0x24
testing.tRunner(0xc0000c4300, 0xc00008e310)
	/Users/dneil/src/go/src/testing/testing.go:917 +0xbf
created by testing.(*T).Run
	/Users/dneil/src/go/src/testing/testing.go:968 +0x350
FAIL	foo	0.077s

This looks fantastic. I could have used this over the weekend.

Let's get this in early in Go 1.14, just because I kind of remember a previous attempt failing badly.

Two minor design questions from the CL:

Should this print === PANIC (test name) at the end on panic?
Should the stack trace be printed by the default panic handler, or should it be attached to the failing test?

e.g., this could instead be:
--- FAIL: Test
    --- FAIL: Test/1/0
        panic: runtime error: integer divide by zero [recovered]
         panic: runtime error: integer divide by zero

        goroutine 36 [running]:
        testing.tRunner.func1(0xc0000c4300)
         /Users/dneil/src/go/src/testing/testing.go:882 +0x5ff
        panic(0x111bfa0, 0x1230f50)
         /Users/dneil/src/go/src/runtime/panic.go:619 +0x1b2
        foo.Test.func1(0xc0000c4300)
         /Users/dneil/src/testpanic/panic_test.go:11 +0x24
        testing.tRunner(0xc0000c4300, 0xc00008e310)
         /Users/dneil/src/go/src/testing/testing.go:917 +0xbf
        created by testing.(*T).Run
         /Users/dneil/src/go/src/testing/testing.go:968 +0x350
FAIL foo 0.077s

FWIW, some version of #32333 (fatal panic handler) would let us also produce similar improvements in test output when a panic occurs in a goroutine not started by a Test function.


Cannot create a stamp from an ES6 class

import stampit from 'stampit';
import test from 'tape';

test('stamp from ES6 class', (t) => {
  t.plan(1);

  class Foo {}
  const fooStamp = stampit.convertConstructor(Foo);

  t.ok(
    stampit.compose(fooStamp)(),
    'should create instance'
  );
});

TypeError: Cannot call a class as a function

I don't think we should fix this in the 1.x line, but we should see if it's possible to fix this in the 2.x line.
They're looking at letting you set a custom invoke function if a constructor is called without new for ES7, but I'm not sure whether or not you can dynamically add that property to a class outside of the class declaration, so I'm not sure exactly how we'll fix this issue.

Yet another reason to avoid the class keyword.

:+1:

I've changed the milestone of this issue from 2.0 to 2.1. I'm shifting all v2.0 compatible issues further to speed up stampit v2 release. I suppose this can be implemented in a compatible way. Can it?

Yeah, the problem here lies with the class spec, if the custom invoke function proposed in ES7 can be added after class declaration, then that would just be an extra step before passing the class into convertConstructor.

This issue is probably not going to get fixed anytime soon -- certainly not with our next minor update. Created 2.x as a "we have no idea when we'll do this" milestone. ;)

Turns out another part of the class spec makes this difficult. The classes prototype is not enumerable.
I came up with a solution as I was working on a feature for react-stampit. Take a look at this gist. The gist uses babel's playground feature for property initializers, use stage 0 when transpiling.

Gist is good, I even managed to run in with some modifications. But, could you please post more details to this issue? Like post the error, results, erroring line, etc?

Moreover, does ES6 support static properties? I heard that only static methods are allowed.

No, as I said above, the gist is using one of babel's playground features for statics. It was really just to make my example simpler.

Ok, I was running it locally via babel-node. Playground it something we would need to avoid as it is not final. We should consider only final ES decisions. Otherwise, it's just a waste of time and effort.

That's a pretty incredible ES6 class workarounds in your gist, btw. How did you manage to find those workarounds? :)

Never meant to give the idea that I wanted playground features in stampit. :p
I'm not sure what you want detail wise for this bug, more information about the constructor issue is discussed here.
Thanks, it was a mix of trial and error and MDN.

Oh, I was under an impression that you've found an obstacle we can't work around. But, actually, you've found a solution. :)

Yet another reason to avoid the class keyword.

And all JavaScript code you might want to consume using it? That's going to get pretty difficulty pretty fast now.

To properly implement the convertConstructor we would have to support both ES5 classes, babel-transplied classes, and ES6 native classes. As the result stampit will become multy purpose tool, which we don't want very much. Stampit should do single thing and do it good, - namely, compose stamps.
We better create a separate module for the convertConstructor utility function. We even have an issue for that: https://github.com/stampit-org/stampit/issues/137
Thoughts?

I'm struggling with wanting to compose from Map right now; whatever solves this issue from userland is going to be helpful.  If I can be of assistance, please let me know.
Also, if anyone knows why Map throws if not called with new (or if you can direct me to who might know), I'm all ears.

@boneskull http://www.ecma-international.org/ecma-262/6.0/#sec-map-constructor
I'd need your assistance.

I suppose this is no longer valid here since convertConstructor is planned to be moved to stamp-utils eventually. Feel free to reopen if I've missed something here.

if anyone knows why Map throws if not called with new (or if you can direct me to who might know), I'm all ears.

All ES6 constructors throw if you don't call them with new.

Thanks Daniel.
Btw, Eric is right. The "Promise()" also throws.
On Thu, 2 Jun 2016, 06:41 Eric Elliott<EMAIL_ADDRESS>wrote:

if anyone knows why Map throws if not called with new (or if you can
direct me to who might know), I'm all ears.
All ES6 constructors throw if you don't call them with new.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stampit-org/stampit/issues/75#issuecomment-223118132,
or mute the thread
https://github.com/notifications/unsubscribe/ABjCL-rhBUhWkFZHbAqCHCe3WuTZ2_x3ks5qHe6LgaJpZM4EnolW
.


Id3

confirmed:ID3
DocumentType:verified
Nationality:verified
DeviceDetails:verified
Experience:verified
Screenshot:verified

confirmed:ID3
DocumentType:verified
Nationality:verified
DeviceDetails:verified
Experience:verified
Screenshot:verified

Closing as duplicate confirmed in #132.

Closing as duplicate confirmed in #132.


Xcode 6.3 compatibility fix (tests target)

$0 as! NSNumber

could also do the job

Thank you @sync, it's now part of v3.5.x.


AuthOptions should support OS_KEY/OS_CERT/OS_CACERT

We have a regulatory requirement to enable multi-factor auth in our OpenStack deployment, so we want to require users to supply client certificates in addition to their regular password-based credentials. In the upstream clients based on python-keystoneclient, this usecase is supported via the OS_CERT and OS_KEY environment variables (or respective clouds.yaml entries).
The gophercloud/utils API somewhat supports OS_CERT/OS_KEY and their sibling OS_CACERT , but only in clientconfig.NewServiceClient, not in the much more important clientconfig.AuthOptions and clientconfig.AuthenticatedClient calls.
For us, that means that the only choice in the short term is to patch client certs into the ProviderClient.HTTPClient manually, like in https://github.com/sapcc/limesctl/pull/122. This feels like something that Gophercloud should cover.
The main issue is that both clientconfig.AuthOptions and clientconfig.AuthenticatedClient are constrained by the capabilities of the gophercloud.AuthOptions type, which does not have any API surface for TLS certificates. In clientconfig.AuthOptions, the constraint is visible from the outside since gophercloud.AuthOptions is the return value for this function. In clientconfig.AuthenticatedClient, the constraint is less obvious: Its implementation defers most of the work to openstack.AuthenticatedClient which takes a single gophercloud.AuthOptions argument.
Proposal
Right now, as far as I can see, the best that we can do is to change Gophercloud to:

add new fields to gophercloud.AuthOptions that cover TLS client certs and CA certs

option 1: in the same way that the env vars as structured (ClientCertFile, ClientKeyFile, CACertFile string) -> advantage: clear semantics
option 2: allow a custom http.Client to be injected (HTTPClient *http.Client) -> advantage: same pattern as in clientconfig.ClientOpts, so we would have the chance to also fix this field to work properly all the time

have openstack.AuthenticatedClient respect those fields (i.e. set up the ProviderClient.HTTPClient thusly before moving on into openstack.Authenticate)

Once Gophercloud has cut a new release after these changes, gophercloud/utils can be changed to:

have clientconfig.AuthOptions fill the new fields in its return value appropriately from env vars and clouds.yaml
have clientconfig.AuthOptions carry forward the ClientOpts.HTTPClient field into its return value (if option 2 was chosen above)

The ugly part here is that there are several intended paths to obtain a gophercloud.ProviderClient, but we can only fix some of them (specifically, all that go through openstack.AuthenticatedClient). To support the new AuthOptions fields in all possible paths, openstack.NewClient would have to be amended, but its API is too narrow.
When Gophercloud breaks API compatibility next time, I propose to:

change openstack.NewClient() from taking a single endpoint string argument to taking a struct of at least endpoint string plus the TLS-related options
change gophercloud.AuthOptions to have that struct type as a field in it (thus grouping all the options together that are needed for the NewClient step)

I'm willing to contribute dev time on our team to implement these changes, but I would like to align with you first before starting on the implementation.
cc @talal @databus23

Friendly reminder, in case this issue got lost over the holiday break.

Ping. Please advise what else we can do for you to get this moving.

Hi @majewsky, thank you for reporting this issue.
Our team also needed to use a custom transport at some point, and we did exactly as in the code you link: the HTTP client being an exposed property of ProviderClient, we replaced it right after calling openstack.AuthenticatedClient.
Did you fully cover your use case by replacing the http.Client in ProviderClient, or is there some missing functionality that your proposed change would bring?
I am asking this because if the issue you report is purely a UX one, then maybe better docs, or an additional convenience function in utils, may be a painless acceptable solution.

This is a fundamental problem in the sense that every application that wants to authenticate to OpenStack needs to be patched if certificate auth is required. This is usually only a concern in specific OpenStack installations, so tool authors are most likely not aware of it. We're now going through the motions of hand-patching dozens of OpenStack client applications, and all that is time I'd rather have invested in fixing the problem once from the get-go.

or an additional convenience function in utils, may be a painless acceptable solution.

An additional convenience function does not solve the fundamental issue:

The main issue is that both clientconfig.AuthOptions and clientconfig.AuthenticatedClient are constrained by the capabilities of the gophercloud.AuthOptions type, which does not have any API surface for TLS certificates.

Sure, we could add an additional function that deals correctly with certificate auth. But then you still have dozens of existing functions that are broken when confronted with certificate auth. Should all of these be deprecated? That does not seem like the right solution. What I'm proposing is the minimal change to gophercloud/gophercloud to allow fixing gophercloud/utils in a way that does not result in a self-contradicting API.

@majewsky could you please propose a PR and some tests? I'm not sure we have reached consensus here, but maybe if you propose some code we could directly discuss in the PR.

Well, it depends on whether you would prefer option 1 or option 2 as outlined above. I don't think I'll have the time to build out both operations separately.

add new fields to gophercloud.AuthOptions that cover TLS client certs and CA certs

option 1: in the same way that the env vars as structured (ClientCertFile, ClientKeyFile, CACertFile string) -> advantage: clear semantics
option 2: allow a custom http.Client to be injected (HTTPClient *http.Client) -> advantage: same pattern as in clientconfig.ClientOpts, so we would have the chance to also fix this field to work properly all the time

For reference 🧐 : The prometheus API allows to inject a custom HTTPClient. This handy as connection related options are configurable. If unset it is more or less set to http.DefaultClient.


local variable epoch_logs is not assigned

Hi @experiencor  ,
i always have the same error appeared every time and i can't solve it
the error is
UnboundLocalError: local variable 'epoch_logs' referenced before assignment
how to solve it.

Can you give the full error log? Which file gives rise to this error?

this is the full exception traceback, but after search i think that my error is in the input. is it right?
Traceback (most recent call last):
File "C:\Users\A.Akl\Anaconda3\lib\threading.py", line 914, in _bootstrap_inner
self.run()
File "C:\Users\A.Akl\Anaconda3\lib\threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\engine\training.py", line 606, in data_generator_task
generator_output = next(self._generator)
TypeError: 'BatchGenerator' object is not an iterator
Traceback (most recent call last):
File "", line 1, in
runfile('K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master/train.py', wdir='K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master')
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
execfile(filename, namespace)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master/train.py", line 137, in
debug              = config['train']['debug'])
File "K:\dream soft\projects\basic-yolo-keras\basic-yolo-keras-master\frontend.py", line 445, in train
max_q_size   = 8)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\engine\training.py", line 1913, in fit_generator
callbacks.on_epoch_end(epoch, epoch_logs)
UnboundLocalError: local variable 'epoch_logs' referenced before assignment

Yes. You can check whether train_images and valid_images in train.py are empty.

another explanation:
In dataset preparation, how to convert bounding boxes with objects index to .xml files

@AhmedAAkl Have you solved this problem by checking the input?

@experiencor , sorry for late reply.
but i was very busy. the problem was in the url of the images in  .xml files, so when is repair it the code run and skipped this error.
My problem now is that
ValueError: validation_data should be a tuple (val_x, val_y, val_sample_weight) or (val_x, val_y). Found: <preprocessing.BatchGenerator object at 0x000000E117B3B8D0>
this error,  occurred when i try to run code

@AhmedAAkl Could you provide the full log?

Traceback (most recent call last):
File "", line 1, in
runfile('K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master/train.py', wdir='K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master')
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
execfile(filename, namespace)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master/train.py", line 143, in
debug              = config['train']['debug'])
File "K:\dream soft\projects\basic-yolo-keras\basic-yolo-keras-master\frontend.py", line 451, in train
max_q_size   = 8)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\engine\training.py", line 1822, in fit_generator
str(validation_data))
ValueError: validation_data should be a tuple (val_x, val_y, val_sample_weight) or (val_x, val_y). Found: <preprocessing.BatchGenerator object at 0x000000858083D080>

Sounds like something is wrong with the validation generator. I would suggest you use the provided notebook (Yolo Step-by-Step.ipynb) to explore your dataset first. The notebook walks through the whole process and is very helpful in debugging.

@experiencor  thanx, i will try it.
but, when i check the valid_batch variable in frontend.py file i found that it divided the data set
but the problem as appeared in the error description is the validation_data variable should be a tuple.

@experiencor
i walked step by step in the .ipynb file but, i faced the same error in the same line
i think i have problem with my dataset
the structure is as follow:
-dataset
-train
-stopimages
-stopannots
-validate
-stopimages
-stopannots
annotations is in .xml file as mentioned.
where is the problem?

For './dataset1/train/stop/369.jpg, should it be './dataset/train/stop/369.jpg? Note the trailing number 1 after dataset.

@experiencor , yes i take care of it in my config.json file
i tried to run the code in the raccoon dataset instead to make sure that there is something wrong with my dataset
but i got another error.
Traceback (most recent call last):
File "", line 1, in
runfile('K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master/train.py', wdir='K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master')
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
execfile(filename, namespace)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "K:/dream soft/projects/basic-yolo-keras/basic-yolo-keras-master/train.py", line 146, in
debug              = config['train']['debug'])
File "K:\dream soft\projects\basic-yolo-keras\basic-yolo-keras-master\frontend.py", line 451, in train
max_q_size   = 8)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "C:\Users\A.Akl\Anaconda3\lib\site-packages\keras\engine\training.py", line 1817, in fit_generator
val_x, val_y, val_sample_weight = validation_data
ValueError: too many values to unpack (expected 3)
i think i have something error in my code or there is an error in the batchGenerator class

in dataset sturcture.
is there another thing to add to train the model
this is my config.json file
{
"model" : {
"architecture":         "Tiny Yolo",
"input_size":           416,
"anchors":              [0.57273, 0.677385, 1.87446, 2.06253, 3.33843, 5.47434, 7.88282, 3.52778, 9.77052, 9.16828],
"max_box_per_image":    10,
"labels":               ["kangaroo"]
},
"train": {
    "train_image_folder":   "./dataset/images/",
    "train_annot_folder":   "./dataset/annots/",
    "train_times":          10,
    "batch_size":           16,
    "learning_rate":        1e-4,
    "nb_epoch":             50,
    "warmup_batches":       100,
    "object_scale":         5.0 ,
    "no_object_scale":      1.0,
    "coord_scale":          1.0,
    "class_scale":          1.0,
    "saved_weights_name":   "stop_sign.h5",
    "debug":                true
},

"valid": {
    "valid_image_folder":   "",
    "valid_annot_folder":   "",

    "valid_times":          1
}

}

@experiencor  the one thing that i have changed in your code is the import statement
in the preprocessing.py file from
from keras.utils import Sequence
to
from keras.utils.data_utils import Sequence
because there is an error to import the first one
ImportError: cannot import name 'Sequence'
so i searched and found that the Sequence class transferred in another package.
to know BatchGenerator that rises the error inherits the Sequence Class
is this right?

In your config file, "labels": ["kangaroo"]? Should it be stop - the name of the label?

@experiencor . yes you are right. but i changed it with the dataset for kangaroo to know where is the error.
kindly, look for the previous comment.

What Keras version do you use?

version 2.0.1 through anaconda

May you try the latest Keras? I use 2.0.8 but 2.011 is also fine.

could you tell me the structure of the dataset?

when i updated keras version to 2.1.1 it runs i will in kangaroo dataset i will go with it.
thanks alot


jenkins: 2.164.1 -> 2.164.2

Motivation for this change
Security issue resolved in 2.164.2 which was present in 2.164.1
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build jenkins

https://jenkins.io/security/advisory/2019-04-10/
needs backporting to 19.03

@GrahamcOfBorg test jenkins

backported to 19.03: bc5e2df902bb9f6d68fa951d7a8ddae7c2355c8b


download zls master from zig.pm

#38 ZLS hosts the nightly relseases on zig.pm: https://github.com/zigtools/zls/wiki/Installation#latest
I left in the request to the github releases api when downloading master since it is still useful to check if os/arch is supported.

 I'm reviewing it now.


feat: helm import

Resolves https://github.com/cdk8s-team/cdk8s-team-internal/issues/54

💚 All backports created successfully

Status
Branch
Result

✅
1.x

Questions ?
Please refer to the Backport tool documentation


Provide access to struct/union/enum/exception namespaces from ThriftType

This is in fact already available, and is exposed in thrifty-codegen via TypeResolver.  The question came up because TypeResolver asserts that typedefs have been resolved, and this has been problematic for a few users.
We should audit uses of TypeResolver to determine whether this assertion is actually beneficial, or whether we can just getTrueType() as a convenience.


update MinVer usage to support 1.0.0-alpha.15

FYI it looks like this build is not working with MinVer 1.0.0-alpha.20:

MinVer : warning MINVER1001: '/src/SqlStreamStore.HAL' is not a valid repository or working directory. Using default version: 0.0.0-alpha.0+build.107.2b4a080c80c41432edab469b4495acfa0e2dbcde. [/src/SqlStreamStore.HAL/SqlStreamStore.HAL.csproj]

Since alpha 15, I replaced the directory walking with a call to libgit2sharp's Repository.Discover(), but I guess that may have a bug, and perhaps it's something about running inside Docker that is provoking it. I get the same problem when I run the SQLStreamStore.HAL build locally, but alpha 20 works fine in all the other places I'm using it.
@bording would you happen to know if there are any known issues with Repository.Discover() running in Docker?

.git is definitely being copied. I've confirmed the problem lies in MinVer. Locally, I rolled the build back to alpha 16 and it worked, but with alpha 17 it fails. I'm fairly certain the only difference between them that could affect this is is the switch to using Repository.Discover().
To confirm that, I'd like to take alpha 20 and revert just that change in a local build, but I'm not entirely sure how to make the Docker based build pick up a local package. I'll give it a try. If all else fails, I'll push alpha 21 with just that change as a test.

OK, I've tested a local MinVer build with just the switch to Repository.Discover() reverted, and it works, so there is definitely a problem with that method in the context of Docker. I see that libgit2sharp just delegates to libgit2 in the implementation of that method, so I guess it's some kind of native code problem.
I'll release alpha 21 ASAP and then re-build this PR.

Alpha 21 works! https://travis-ci.org/SQLStreamStore/SQLStreamStore.HAL/builds/459784213#L619
🎉 😌

@thefringeninja gentle reminder: your build metadata won't appear correctly on master builds until you merge this PR. 😉


#13265: Update GE_BW

This is a sub branch PR that is created to simplify the work on branch virdhatchani/comp_clean as

There is a lot of code line changes involved
CI cannot be re-run if I push a new commit into main branch

https://github.com/tenstorrent/tt-metal/actions/runs/11101019649


Docker run on README does not work on Fedora with Podman

https://github.com/github-linguist/linguist#docker as is doesn't quite work on Fedora with Podman:
$ docker build -t linguist .
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/3: FROM ruby:2-alpine3.13
✔ docker.io/library/ruby:2-alpine3.13
Trying to pull docker.io/library/ruby:2-alpine3.13...
Getting image source signatures
Copying blob dc7e2bfec2fe done   |
Copying blob c86e849bc66e done   |
Copying blob 5758d4e389a3 done   |
Copying blob 94a2fc84ba5b done   |
Copying blob b33877ba8182 done   |
Copying config 696fe92548 done   |
Writing manifest to image destination
STEP 2/3: RUN apk --update add --virtual build_deps     build-base     libc-dev     cmake     && apk add icu-dev openssl-dev     && gem install github-linguist     && apk del build_deps       && rm /var/cache/apk/*
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
(1/32) Upgrading musl (1.2.2-r1 -> 1.2.2-r2)
(2/32) Installing binutils (2.35.2-r1)
(3/32) Installing libmagic (5.39-r0)
(4/32) Installing file (5.39-r0)
(5/32) Installing libgomp (10.2.1_pre1-r3)
(6/32) Installing libatomic (10.2.1_pre1-r3)
(7/32) Installing libgphobos (10.2.1_pre1-r3)
(8/32) Installing isl22 (0.22-r0)
(9/32) Installing mpfr4 (4.1.0-r0)
(10/32) Installing mpc1 (1.2.0-r0)
(11/32) Installing gcc (10.2.1_pre1-r3)
(12/32) Installing musl-dev (1.2.2-r2)
(13/32) Installing libc-dev (0.7.2-r3)
(14/32) Installing g++ (10.2.1_pre1-r3)
(15/32) Installing make (4.3-r0)
(16/32) Installing fortify-headers (1.1-r0)
(17/32) Installing patch (2.7.6-r7)
(18/32) Installing build-base (0.5-r3)
(19/32) Installing libacl (2.2.53-r0)
(20/32) Installing libbz2 (1.0.8-r1)
(21/32) Installing expat (2.2.10-r8)
(22/32) Installing lz4-libs (1.9.2-r1)
(23/32) Installing xz-libs (5.2.5-r1)
(24/32) Installing zstd-libs (1.4.9-r0)
(25/32) Installing libarchive (3.5.3-r0)
(26/32) Installing brotli-libs (1.0.9-r3)
(27/32) Installing nghttp2-libs (1.42.0-r1)
(28/32) Installing libcurl (7.79.1-r3)
(29/32) Installing rhash-libs (1.4.1-r0)
(30/32) Installing libuv (1.40.0-r0)
(31/32) Installing cmake (3.18.4-r1)
(32/32) Installing build_deps (20241214.122056)
Executing busybox-1.32.1-r7.trigger
OK: 256 MiB in 67 packages
(1/6) Upgrading libcrypto1.1 (1.1.1l-r0 -> 1.1.1s-r0)
(2/6) Upgrading libssl1.1 (1.1.1l-r0 -> 1.1.1s-r0)
(3/6) Installing icu-libs (67.1-r2)
(4/6) Installing icu (67.1-r2)
(5/6) Installing icu-dev (67.1-r2)
(6/6) Installing openssl-dev (1.1.1s-r0)
Executing busybox-1.32.1-r7.trigger
Executing ca-certificates-20191127-r5.trigger
OK: 294 MiB in 71 packages
Building native extensions. This could take a while...
Successfully installed rugged-1.7.2
Successfully installed mini_mime-1.1.5
Building native extensions. This could take a while...
Successfully installed charlock_holmes-0.7.9
Building native extensions. This could take a while...
Successfully installed github-linguist-9.0.0
4 gems installed
(1/31) Purging build_deps (20241214.122056)
(2/31) Purging build-base (0.5-r3)
(3/31) Purging file (5.39-r0)
(4/31) Purging g++ (10.2.1_pre1-r3)
(5/31) Purging gcc (10.2.1_pre1-r3)
(6/31) Purging binutils (2.35.2-r1)
(7/31) Purging libatomic (10.2.1_pre1-r3)
(8/31) Purging libgomp (10.2.1_pre1-r3)
(9/31) Purging libgphobos (10.2.1_pre1-r3)
(10/31) Purging make (4.3-r0)
(11/31) Purging fortify-headers (1.1-r0)
(12/31) Purging patch (2.7.6-r7)
(13/31) Purging libc-dev (0.7.2-r3)
(14/31) Purging musl-dev (1.2.2-r2)
(15/31) Purging cmake (3.18.4-r1)
(16/31) Purging libmagic (5.39-r0)
(17/31) Purging isl22 (0.22-r0)
(18/31) Purging mpc1 (1.2.0-r0)
(19/31) Purging mpfr4 (4.1.0-r0)
(20/31) Purging libarchive (3.5.3-r0)
(21/31) Purging libacl (2.2.53-r0)
(22/31) Purging libbz2 (1.0.8-r1)
(23/31) Purging expat (2.2.10-r8)
(24/31) Purging lz4-libs (1.9.2-r1)
(25/31) Purging xz-libs (5.2.5-r1)
(26/31) Purging zstd-libs (1.4.9-r0)
(27/31) Purging libcurl (7.79.1-r3)
(28/31) Purging brotli-libs (1.0.9-r3)
(29/31) Purging nghttp2-libs (1.42.0-r1)
(30/31) Purging rhash-libs (1.4.1-r0)
(31/31) Purging libuv (1.40.0-r0)
Executing busybox-1.32.1-r7.trigger
OK: 58 MiB in 40 packages
--> eeb2bda5e5f3
STEP 3/3: CMD ["github-linguist"]
COMMIT linguist
--> 308ce43e0a3b
Successfully tagged localhost/linguist:latest
308ce43e0a3bac6e52b5fa9b6ebb4868d3444f43b5921aade1e224ebac3501bf

$ docker run --rm -v $(pwd):$(pwd) -w $(pwd) -t linguist
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Traceback (most recent call last):
        4: from /usr/local/bundle/bin/github-linguist:23:in `<main>'
        3: from /usr/local/bundle/bin/github-linguist:23:in `load'
        2: from /usr/local/bundle/gems/github-linguist-9.0.0/bin/github-linguist:155:in `<top (required)>'
        1: from /usr/local/bundle/gems/github-linguist-9.0.0/bin/github-linguist:55:in `github_linguist'
/usr/local/bundle/gems/github-linguist-9.0.0/bin/github-linguist:55:in `new': could not find repository at '/home/vorburger/git/github.com/github-linguist/linguist' (Rugged::RepositoryError)

It works when you add the :Z to the -v which Podman needs on Fedora due to SELinux:
$ docker run --rm -v $(pwd):$(pwd):Z -w $(pwd) -t linguist
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
68.71%  303849     Ruby
22.00%  97265      C
6.25%   27621      Go
1.57%   6948       Lex
1.19%   5248       Shell
0.28%   1258       Dockerfile

This also works on Docker (where it may "do nothing").
I'll raise a PR to suggest adding it to the README.


Html 5 Required Validation Not Working

Hi i have declared like
<select class="selectpicker" data-live-search="true" required

but it is not validated in form .

See guidelines for contributing.
Bug reports
A bug is a demonstrable problem that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:

Use the GitHub issue search. Check if the issue has already been
reported.

Check if the issue has been fixed. Try to reproduce it using the
latest master or development branch in the repository.

Provide environment details. Provide your operating system, browser(s),
jQuery version, Bootstrap version, and bootstrap-select version.

Create an isolated and reproducible test case. Create a reduced test
case.

Include a live example. Use this Plunker debugging template to share your isolated test cases. You can also make use of jsFiddle or jsBin.

A good bug report shouldn't leave others needing to chase you up for more
information. Please try to be as detailed as possible in your report. What is
your environment? What steps will reproduce the issue? What browser(s) and OS
experience the problem? What would you expect to be the outcome? All these
details will help people to fix any potential bugs.
Example:

Short and descriptive example bug report title
A summary of the issue and the browser/OS environment in which it occurs. If
suitable, include the steps required to reproduce the bug.

This is the first step
This is the second step
Further steps, etc.

<url> - a link to the reduced test case
Any other information you want to share that is relevant to the issue being
reported. This might include the lines of code that you have identified as
causing the bug, and potential solutions (and your opinions on their
merits).

Closing until more information is provided.

This looks like https://github.com/silviomoreto/bootstrap-select/issues/514 (which is not fixed after a long time (???)


Loading helper modules

Should probably document that helper modules should be loaded in the config file. Could also add a support path option that would load a given directory or list of files or something before loading fixtures. It could also be included as part of the lint process too. This would help prevent issues like #13 before they even happen.

maybe lamp_helper.rb, in the same spirit as spec/spec_helper.rb and spec/rails_helper.rb?

I added a note to the readme about this with an example. I think that'll do the trick for now, if there's more of a need to have this built into the gem we can always reopen this.


Echoing messages on stdout should be an info level log, not error

--logging warning and --logging error should disable printing messages to stdout. Right now only --logging none disables this, so it's impossible to log errors without logging all messages.

I thought the intended behaviour of the logging library (https://docs.python.org/3/library/logging.html) was to set messages at a hierarchical level?
From the docs:

Sets the threshold for this logger to level. Logging messages which are less severe than level will be ignored; logging messages which have severity level or higher will be emitted by whichever handler or handlers service this logger, unless a handler’s level has been set to a higher severity level than level.
When a logger is created, the level is set to NOTSET (which causes all messages to be processed when the logger is the root logger, or delegation to the parent when the logger is a non-root logger). Note that the root logger is created with level WARNING.

If I am not mistaken, error and warning messages are sent to stderr, are they not? So you can split up the output streams with output redirection?
So, for example,
chat_replay_downloader --logging error https://www.youtube.com/watch?v=J2umj9SgdFU 2> stderr.txt > stdout.txt
would output the following two files:
stderr.txt
stdout.txt

I thought the intended behaviour of the logging library (https://docs.python.org/3/library/logging.html) was to set messages at a hierarchical level?
From the docs:

Sets the threshold for this logger to level. Logging messages which are less severe than level will be ignored; logging messages which have severity level or higher will be emitted by whichever handler or handlers service this logger, unless a handler’s level has been set to a higher severity level than level.
When a logger is created, the level is set to NOTSET (which causes all messages to be processed when the logger is the root logger, or delegation to the parent when the logger is a non-root logger). Note that the root logger is created with level WARNING.

If I am not mistaken, error and warning messages are sent to stderr, are they not? So you can split up the output streams with output redirection?
So, for example,
chat_replay_downloader --logging error https://www.youtube.com/watch?v=J2umj9SgdFU 2> stderr.txt > stdout.txt
would output the following two files:
stderr.txt
stdout.txt

I was using it interactively and not splitting out stderr, that does work. But it was very jarring to go from the previous version with --hide_output to this version with --logging warning and still have all messages echoed. I'm not sure why the --logging parameter affects message echoing, or why they're counted at the same level of criticality as errors, if the intended solution is to use redirection in place of cli options.

I was using it interactively and not splitting out stderr, that does work. But it was very jarring to go from the previous version with --hide_output to this version with --logging warning and still have all messages echoed. I'm not sure why the --logging parameter affects message echoing, or why they're counted at the same level of criticality as errors, if the intended solution is to use redirection in place of cli options.

I was using it interactively and not splitting out stderr, that does work. But it was very jarring to go from the previous version with --hide_output to this version with --logging warning and still have all messages echoed. I'm not sure why the --logging parameter affects message echoing, or why they're counted at the same level of criticality as errors, if the intended solution is to use redirection in place of cli options.

The main reason I added logging functionality was to assist in debugging, so I just implemented it in the standard way (according to the docs). If your aim is to output to a file, you can just use the --output option.

You seem to be misunderstanding something. I am using --output to produce a json file. Previously I'd used --hide_output since echoing messages on stdout was annoying and useless to me. The --hide_output parameter was removed and --logging was the obvious replacement. I tried to replicate the same behaviour with --logging and found only --logging none hid the messages.
It makes little sense that --logging affects echoing messages to stdout if the intended solution is to redirect stdout to /dev/null, and if --logging is supposed to affect messages it makes little sense that they're treated with the same criticality as errors.

Okay I think I understand now. So, do you suggest I add the --hide_output flag back? This will ensure that nothing is printed at all. On the other hand, setting logging to none will only show the chat messages (i.e. no info, warning, error or critical messages.)
Or what should I change?

Yeah, it's better if it behaves consistently. A --hide_output or --quiet parameter is nice to have, but even without that at least --logging shouldn't affect the chat messages which was what surprised me and led to this bug report.

Sounds good 👍 I will close this issue once it has been added. Thanks for the suggestion!

@awused That should fix it 👍 ... if there is still an error, feel free to leave another comment.


Frontend Layout

Hi,
Could you share your frontend layout? its really clean :)
Thanks

Sure, its an open source project which is develop by my colleague @zafree . You can feel free to try it.
BootAid Chat

Thanks mate @nahid
Hello @ghprod, fell free to use bootaide. Hope you like it :)

Thanks a lot @zafree  @nahid


Add support for the ESP32-C6

This is still a work in progress, however we're nearing completion so I think it's ready enough to start getting some eyes on it.
Unfortunately there were some hiccups with the git history, so things are a bit messy there; I've tried to fix things as much as possible but there are still some oddities.
At this point I have tested all examples, and all are functional except for the following:

clock_monitor
i2s_sound
twai

The twai example is failing in the same way as the ESP32 and ESP32-S2, so we can likely hold off on completing this until #341 is resolved.
The esp_hal_common::rtc_cntl and esp_hal_common::rtc_cntl::rtc modules are still being worked on by @JurajSadel and will hopefully be completed soon; this will allow us to complete the clock_monitor example.
In addition to the above, I seem to be experiencing linker errors when trying to build any of the embassy_*, pcnt_encoder, or ram examples when using the direct-boot feature; they build fine without it. Not sure what's going on here.
Thank you to all who have contributed to this work, looking forward to getting it merged :)
Closes #219

TODO

[x] Publish the esp32c6 package and remove the git dependency
[x] Use published releases of esp-println and esp-backtrace

esp-backtrace is a dev-dependency so we don't need to block on it; I've opened a PR adding C6 support here: https://github.com/esp-rs/esp-backtrace/pull/26

[x] Get the clock_monitor and i2s_sound examples working

The clock_monitor example will be fixed in a separate PR

[x] Resolve 'direct-boot' linker errors

FYI I tried looking at the direct boot errors but didn't actually run into any? Do you know how to reproduce? We should also make sure we apply the fix from #386 to the direct boot linker scripts too

FYI I tried looking at the direct boot errors but didn't actually run into any? Do you know how to reproduce? We should also make sure we apply the fix from #386 to the direct boot linker scripts too

I can at least reproduce linker errors for the pcnt_encoder and the ram example when using the direct-boot feature

@MabezDev running:
cargo build --release --example=embassy_hello_world --features=async,embassy,embassy-time-systick,direct-boot

Results in:
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/Users/jesse/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/bin:/Users/jesse/.pyenv/shims:/Users/jesse/.espressif/tools/xtensa-esp32s3-elf-gcc/8_4_0-esp-2021r2-patch3-x86_64-apple-darwin/bin:/Users/jesse/.espressif/tools/xtensa-esp32s2-elf-gcc/8_4_0-esp-2021r2-patch3-x86_64-apple-darwin/bin:/Users/jesse/.espressif/tools/xtensa-esp32-elf-gcc/8_4_0-esp-2021r2-patch3-x86_64-apple-darwin/bin:/Users/jesse/.espressif/tools/xtensa-lx106-elf/bin:/Users/jesse/.cargo/bin:/Users/jesse/.cargo:/Users/jesse/.pyenv/bin:/usr/local/opt/openjdk/bin:/Users/jesse/.local/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS" VSLANG="1033" "rust-lld" "-flavor" "gnu" "/var/folders/_9/z1ykrlk10t3c89lx0d80vx2c0000gn/T/rustc9G06cY/symbols.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.0.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.1.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.10.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.11.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.12.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.13.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.14.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.2.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.3.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.4.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.5.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.6.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.7.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.8.rcgu.o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f.embassy_hello_world.e744aa18-cgu.9.rcgu.o" "--as-needed" "-L" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps" "-L" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/release/deps" "-L" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/build/esp32c6-hal-31189cfd69fd103f/out" "-L" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/build/esp32c6-hal-31189cfd69fd103f/out" "-L" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/build/esp-riscv-rt-98e80c2aaec5eeaf/out" "-L" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/build/esp32c6-ac1c0b700a11b2c0/out" "-L" "/Users/jesse/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/riscv32imc-unknown-none-elf/lib" "-Bstatic" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp_println-f1516c68c9412db1.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp_backtrace-5a6289bef769b11f.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp_println-544ea99b727c1450.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp32c6_hal-3f896aea5bdaad97.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp_hal_common-6d0d2ec740686ed6.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libriscv_atomic_emulation_trap-d8b783ad643f9c42.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembassy_futures-108cf02e99f9bd00.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp32c6-7bb5fd2cd7cde49b.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libvcell-7ec1a82601af57ed.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembedded_can-b5ef1a17728ab62b.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libstrum-e0a2114bcfea621d.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembedded_hal_nb-4bb1c7cd27451fe8.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembedded_dma-7a1ad16d1fecbef4.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembedded_hal_async-7ab56fe3f173ceb6.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembassy_sync-0d51a6cc293c24bd.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libheapless-f3c0eb814efb41c9.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libstable_deref_trait-aba1dda1520b9a08.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libatomic_polyfill-3ecd6edd5c05a2bc.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libhash32-cb8cdea6ae15a045.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libbyteorder-3e593ad57c57f555.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembedded_hal-6e0af43c416e17a5.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libfugit-d3ee19f017842f16.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libgcd-21999270d138d20a.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libesp_riscv_rt-6ed04450734b273b.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libr0-c848c47157a64814.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libriscv-d3fddf532277f762.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libbit_field-72939deb9455fcce.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembassy_time-83f0d28cd6b88600.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembassy_executor-7e4a0c78bed41602.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libcfg_if-0223e26c41a1f9b3.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libstatic_cell-65bb6a6330a584a5.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembassy_time-03fb61eacce89eac.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libfutures_util-e0a4032f35e4f2fd.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libpin_project_lite-1fb41f722d72a765.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libfutures_task-82f39ec9889de3ae.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libpin_utils-dbfc4fe98ba9e9bc.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libfutures_core-b79b4bffe2585a3e.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libembedded_hal-985466426365a8fc.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libvoid-19380cf91179831d.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libnb-daeaec699b61b887.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libnb-9430177d6a7562a2.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libatomic_polyfill-bdf7ce7b5ed83cee.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libcritical_section-a298a3fe46a28bbe.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/librustc_std_workspace_core-027964a9f6098aa5.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libcore-e22379d5f534b18a.rlib" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/deps/libcompiler_builtins-5fc8f65b507cf7d5.rlib" "-Bdynamic" "-znoexecstack" "-L" "/Users/jesse/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/riscv32imc-unknown-none-elf/lib" "-o" "/Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/examples/embassy_hello_world-440a36bfd7244a5f" "--gc-sections" "-O1" "-Tlinkall.x"
  = note: rust-lld: error: /Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/build/esp32c6-hal-31189cfd69fd103f/out/riscv-link.x:108: unable to move location counter backward for: .rwtext.dummy
          rust-lld: error: /Users/jesse/Work/esp-hal/esp32c6-hal/target/riscv32imc-unknown-none-elf/release/build/esp32c6-hal-31189cfd69fd103f/out/riscv-link.x:108: unable to move location counter backward for: .rwtext.dummy
          rust-lld: warning: address (0x42000008) of section .text is not a multiple of alignment (256)
          rust-lld: error: section .rwtext.dummy at 0x40808814 of size 0xFFFFFFFFFFFFFFB8 exceeds available address space
          rust-lld: error: section .rwtext virtual address range overlaps with .bss
          >>> .rwtext range is [0x40808050, 0x40808813]
          >>> .bss range is [0x408087D0, 0x40808983]

          rust-lld: error: section .bss virtual address range overlaps with .rwtext.dummy
          >>> .bss range is [0x408087D0, 0x40808983]
          >>> .rwtext.dummy range is [0x40808814, 0x408087CB]

          rust-lld: error: section .rwtext load address range overlaps with .bss
          >>> .rwtext range is [0x8550, 0x8D13]
          >>> .bss range is [0x8CD0, 0x8E83]

          rust-lld: error: section .bss load address range overlaps with .rwtext.dummy
          >>> .bss range is [0x8CD0, 0x8E83]
          >>> .rwtext.dummy range is [0x8D14, 0x8CCB]

@MabezDev I think there's something funny going on with my system, let me try again.

Okay, this has been rebased now and includes all the latest RTC and linker script changes. Once a new version of esp-backtrace has been published we will need to use that, but all other dependencies are using published versions at this point.
I have tested a number of examples, all of which have worked, but have not done any comprehensive testing. This will likely require a group effort.
With all that said, I think this is pretty much as ready as it's going to get. There are a number of issues which still need resolving, however I will try to identify them so we can create issues at a later time; I'll update this comment when I am able.

I tried all the examples we have for ESP32-C6 (only boot-loader mode). Not too bad but seems there are a few issues (some with the examples themselves and some with the driver, mostly clock related)
These are my results
adc.rs 🆗
advanced_serial.rs - baud rate is half (57600)
aes.rs 🆗
blinky.rs 🆗
blinky_erased_pins.rs - example code uses gpio 0 as a button but it's gpio 9
embassy_hello_world.rs 🆗
embassy_spi.rs - SCLK is 50kHz (i.e. it's half)
embassy_wait.rs - example code uses gpio 0 as a button but it's gpio 9
gpio_interrupt.rs 🆗
hello_rgb.rs 🆗
hello_world.rs  🆗
i2c_bmp180_calibration_data.rs 🆗
i2c_display.rs 🆗
i2s_read.rs - example descriptions mentions MCLK but it's not used, seems ok 🆗
i2s_sound.rs - tested with PCM5102, sounds okay in release mode 🆗
ledc.rs 🆗
mcpwm.rs 🆗
pcnt_encoder.rs - limits don't work?
pulse_control.rs 🆗
ram.rs 🆗
read_efuse.rs 🆗
rtc_watchdog.rs - seems it waits longer than 5 secs - so clocks seem to be off
serial_interrupts.rs - AT command detection not working
sha.rs 🆗
spi_eh1_device_loopback.rs - SCLK is 500kHz, should be 1000kHz
spi_eh1_loopback.rs - SCLK is 500kHz, should be 1000kHz
spi_loopback.rs - SCLK is 50kHz (i.e. it's half)
spi_loopback_dma.rs - SCLK is 50kHz (i.e. it's half)
systimer.rs 🆗
timer_interrupt.rs 🆗
usb_serial_jtag.rs - unable to get this to work - but might a problem with my OS since I can't even connect to the serial port
watchdog.rs 🆗

Building on top of @bjoernQ's testing, with my latest commits here is the current status of testing:

Example
idf-bootloader
direct-boot

adc
✅
✅

advanced_serial
⏰
⏰

aes
✅
✅

blinky
✅
✅

blinky_erased_pins
❔
❔

embassy_hello_world
✅
✅

embassy_spi
⏰
⏰

embassy_wait
✅
✅

gpio_interrupt
✅
✅

hello_rgb
✅
✅

hello_world
✅
✅

i2c_bmp180_calibration_data
✅

i2c_display
✅

i2s_read
✅

i2s_sound
✅

ledc
❔
❔

mcpwm
✅
✅

pcnt_encoder
❔

pulse_control
✅
✅

ram
✅
✅

read_efuse
✅
✅

rtc_watchdog
⏰
⏰

serial_interrupts
❌
❌

sha
✅
✅

spi_eh1_device_loopback
⏰
⏰

spi_eh1_loopback
⏰
⏰

spi_loopback
⏰
⏰

spi_loopback_dma
⏰
⏰

systimer
✅
✅

timer_interrupt
✅
✅

usb_serial_jtag
✅
✅

watchdog
✅
✅

✅ = working as expected
⏰ = (suspected) clock issues
❔ = sort of working, but something is off
❌ = not working
I will update this table as I continue to test. Hopefully these remaining examples aren't too difficult to crack.

The blinky_erased_pins example works however it seems that only one in N button presses are actually detected; this is consistent between image formats. Probably not worth blocking on but there's something weird going on there.

That's exactly how the example works - it just reads the state of the button after the delay. So while it is not a good example of how to write real-world code it works as expected then.

Seems I found the problem with serial_interrupts .... will prepare a PR for it

I fixed the DMA issues in direct-boot mode here: https://github.com/jessebraham/esp-hal/pull/7

I think at this point all examples are functioning as expected, both using the idf-bootloader format as well as direct-boot.
This PR is still far from perfect, but I think the remaining problems are isolated enough that we can create issues for them and address them individually; I'm not sure how much more we stand to gain by nitpicking this PR.
@bjoernQ and @MabezDev, let me know how you're feeling about the state of this PR, please.
@JurajSadel, @bjoernQ, and @MabezDev, thanks for all the work on this over the last couple months! It's been quite the learning experience for us and hopefully this will be easier in the future as a result.

I think this is in a good enough spot for merging! The few odd bits can be solved later :).


Shader reuse over multiple models

Nice API!
I would like to set up soko with one shader setup and render multiple models(verts/index date) with the same format.
I've probably missed something really obvious, but I can't see a way to do this?
I see SG_MAX_SHADERSTAGE_BUFFERS is set to 4 and streaming data via sg_update_buffer is also limited to "... only one update allowed per frame and resource object, and data must be written from the start (but the data size can be smaller than the resource size)."
Any help would be great :)
Cheers
Mike.

Hi, the most efficient way is when all geometries have the same vertex format, and the total number of vertices is less then 64k. In this case:

prepare a memory chunk which contains the geometry data for all vertices, create one immutable vertex buffer from this
prepare a memory chunk which contains the indices for all geometries, 'rebased' to the vertices in the one big vertex data chunk, create one immutable index buffer from this, also you need to keep track of the index range for each geometry (this will be the base_element and num_elements)
create one shader and one pipeline object with matching vertex format
prepare one draw_state struct with the pipeline object, vertex buffer and index buffer, this will not change during the draw loop
the draw loop would look like this:

    sg_begin_default_pass(...);
    sg_apply_draw_state(draw_state);
    for (int i = 0; i < num_models; i++) {
         //...compute model-view-projection matrix here...
         sg_apply_uniform_block(...);
         // now the important part, issue a draw call with the right index range
         // for the sub-geometry:
         sg_draw(models[i].base_element, models[i].num_elements, 1);
    }
    sg_end_pass();
    sg_commit();

If your geometry needs to live in different buffers, but still have the same vertex format, you can still use a single pipeline object, but move the sg_apply_draw_state() call into the loop which renders each model, because the vertex- and index-buffer binding must be updated, e.g.:
    sg_begin_default_pass(...);
    for (int i = 0; i < num_models; i++) {
         // need to update the buffer bindings:
         draw_state.vertex_buffers[0] = models[i].vertex_buffer;
         draw_state.index_buffer = models[i].index_buffer;
         sg_apply_draw_state(draw_state);
         //...compute model-view-projection matrix here...
         sg_apply_uniform_block(...);
         // now the important part, issue a draw call with the right index range
         // for the sub-geometry:
         sg_draw(models[i].base_element, models[i].num_elements, 1);
    }
    sg_end_pass();
    sg_commit();

Now finally, if your models have different vertex formats, but you will need one pipeline and shader per vertex format, and also need to update the pipeline object binding, this is the most expensive option (so it makes sense to order draw operations to minimize pipeline binding updates:
    sg_begin_default_pass(...);
    for (int i = 0; i < num_models; i++) {
         // need to update the pipeline and buffer bindings:
         draw_state.pipeline = models[i].pipeline;
         draw_state.vertex_buffers[0] = models[i].vertex_buffer;
         draw_state.index_buffer = models[i].index_buffer;
         sg_apply_draw_state(draw_state);
         //...compute model-view-projection matrix here...
         sg_apply_uniform_block(...);
         // now the important part, issue a draw call with the right index range
         // for the sub-geometry:
         sg_draw(models[i].base_element, models[i].num_elements, 1);
    }
    sg_end_pass();
    sg_commit();

The multiple vertex buffer slots in sg_draw_state are used for streaming vertex data from different input buffers for the same draw call, this is for instance used for hardware-instanced rendering.
And finally sg_update_buffer() is used for updating buffer content dynamically, this is a fairly expensive operation and is usually used for procedurally generated geometry.
You can also have a look at the Oryol samples, these are written in C++ and have a slightly higher level Gfx API, but the ideas are the same (once I'm crawling out of the emulator-coding-rabbit-hole I'm currently in I will continue moving the Oryol Gfx module to sokol_gfx). For instance this sample renders multiple shapes from the same vertex/index buffer (like in the first example): http://floooh.github.io/oryol/asmjs/Shapes.html (follow the "Source" link for the source code).
Hope this helps :)

PS: once I have this implemented: https://github.com/floooh/sokol/issues/37, there will be another option which would live between example (1) and (2) (you'll have more options to pack multiple geometries into vertex- and index-buffers, it's slightly less expensive then rebinding new buffers, but you don't need to 'rebase' indices to the start of the buffer, and you can 16-bit indices even if the total number of vertices in a buffer is greater 64k.

code:
Hey man! :)
Cool thanks for the very detailed explanation!
Very much appreciated :+1:
2nd solution is exactly what I missed, I assumed the pipeline and draw state were tightly coupled.
I see how you update the buff/ind ID's, cool thanks for the info!
2 questions regarding the design of sg_draw_state struct, is there a reason why the "num_elements" isn't also stored? Maybe either use it as a var to sg_draw or it can use the correct num_elements using the index param, it would make it cleaner IMO.
And, why is the vertex_buffers (ID's) limited to just 4, is it an arbitrary number or a graphic limitation? (SG_MAX_SHADERSTAGE_BUFFERS)
A dynamic vertex_buffers would be ideal for me to do some rudimentary, server side animation.. and keep it all in sokol :dagger:
I know I can do it as is, but just putting it out there.
I see your C64 tweets.. it's very impressive!
Thanks again!
Cheers
Mike.

2 questions regarding the design of sg_draw_state struct, is there a reason why the "num_elements" isn't also stored? Maybe either use it as a var to sg_draw or it can use the correct num_elements using the index param, it would make it cleaner IMO.

That's because you can reuse the same sg_apply_draw_state() for multiple draw calls. In all 3D APIs, base_element and num_elements is part of the draw call function and very 'light weight', while the sg_apply_draw_state() function may be quite heavy (depending on what members have changed)...
In other 3D API wrappers I wrote in the past, I stored such 'submesh ranges' or 'material groups' in low-level mesh objects (which also contained the vertex- and index-buffers), but this limited the flexibility of the API, so sokol_gfx is now at the same abstraction level as D3D, GL or Metal in order to not put too many restrictions on what can be done with it.
The SG_MAX_SHADERSTAGE_BUFFERS is currently an arbitrary limitation, the underlying 3D APIs also have restrictions for this, but more like 16 or 32 (in D3D11 it's 32, in GLES2 it's most likely 8 or 16). The number of 4 has been choosen to keep the size of the sg_draw_state structure somewhat small but still useful for most scenarios. In a later sokol_gfx version those values might be configurable from the outside through defines.

Ha cool!
Thanks, makes sense!
In a later sokol_gfx version those values might be configurable from the outside through defines.
Maybe also doing something like this would be a good compromise?

typedef struct {
    uint32_t _start_canary;
    sg_pipeline pipeline;
    sg_buffer vertex_buffers[SG_MAX_SHADERSTAGE_BUFFERS];
    sg_buffer index_buffer;
    sg_image vs_images[SG_MAX_SHADERSTAGE_IMAGES];
    sg_image fs_images[SG_MAX_SHADERSTAGE_IMAGES];

#ifdef CUSTOM_DRAW_STATE_FIELDS
    CUSTOM_DRAW_STATE_FIELDS
#endif

    uint32_t _end_canary;
} sg_draw_state;

Hmm but for CUSTOM_DRAW_STATE_FIELDS you'd also need code somewhere inside sokol_gfx to handle those extra fields. In this case it would probably make more sense to have some sort of feature toggle define, or if this gets to messy, create a fork.

oh no no no, not to use inside of sokol, but to keep the data in sokol and use it with standard soko calls, ie sg_draw, ie:
Instead of having to have eternal data with sokol:
sg_draw(0, models[i].num_elements, 1);  //as per your example above
No external data storing is required:
sg_draw(0,  draw_state.MyCust_numElements, 1);
IMO, a cleaner interface, a poor man's encapsulation if you will ;)
It's no big deal tho, if you see it of value then cool, if not, that's cool too.
I'm happy to use sokol, as per your design.. I'm a graphic's noob after all.
Mike.

hmm, I think its better to embed sg_draw_state inside your own struct instead (for instance as part of a model's material description, e.g.:
typedef struct {
    sg_draw_state draw_state;
    int base_element;
    int num_elements;
    my_vertex_shader_uniforms vsu;
    my_fragment_shader_uniforms fsu;
    ...
} my_model_material;

Oh I see, that makes more sense :D
I will check out your Oryol samples!
Thanks tips!


Update the KEB Swagger UI to be in sync with the KEB image

Description

To avoid as much as possible the  direct communication between developers not familiar with KEB source and the KEB devs, the Swagger UI exposed by a KEB instance (using port-forward) could be the first "entry point" to be used.
It could be great to always have it in "sync" with the used KEB version.
Area

Reasons

Assignees
@kyma-project/technical-writers
Attachments

@radufa what is not in sync?


Test discovery failures when F# tests with spaces in names in place

It is common in F# to write test names as an English sentence. E.g., this is our test:
[<TestMethod>]
member this.``UnionConverter serialized and deserialized equals original``() =
    let worksOn (u:TestUnion) =
        let newU =JsonConvert.SerializeObject u |> JsonConvert.DeserializeObject<TestUnion>
        newU = u
    Check.QuickThrowOnFailure worksOn

When I build the test in Visual Studio then in the Visual Studio output Tests window gets this message:
[MSTest][Discovery][C:\Users\mk185147\Source\Repos\ncr-swt-cfr\device-automation-framework\src\Common\Communication.Domain.SocketTal.MsTest\bin\Debug\net7.0\Ncr.Devices.Automation.Common.Communication.Domain.SocketTal.MsTest.dll] MSTestAdapter failed to discover tests in class 'Ncr.Devices.Automation.Common.Communication.Domain.SocketTal.Tests.UnionConverterTests' of assembly 'C:\Users\mk185147\Source\Repos\ncr-swt-cfr\device-automation-framework\src\Common\Communication.Domain.SocketTal.MsTest\bin\Debug\net7.0\Ncr.Devices.Automation.Common.Communication.Domain.SocketTal.MsTest.dll' because Whitespace is not valid in a ManagedName (pos: 18).

Nevertheless, the tests with whitespaces in names are shown in Test Explorer and I am able to start them:

I use today MSTest 2.2.10.

Hi @mk185147! Thanks for reporting this issue. It seems to be a dupe of #941, that will be available in 3.0.0.


docs: add semantic PR, conventional commit info, link to .github docs

- What I did
I added a mention about using conventional commits in CONTRIBUTING.md, and included a link to the relevant website (https://www.conventionalcommits.org). I did this because I saw that #50 did not use conventional commits and one of the maintainers suggested it's best to use conventional commits in the future.
- How I did it
I added an instruction about conventional commits and the website https://www.conventionalcommits.org
- How to verify it
Check the Markdown preview and click to link to confirm it works.
If I missed something or need to change the wording, please let me know. I wasn't sure if it's an absolute requirement, so I phrased it more loosely. If it is a strict requirement, maybe it's better to use something like Contributors must follow the conventional commits standard.
- Description for the changelog
Add conventional commits info to CONTRIBUTING.md

@TylerTrott I saw in a few recent commits to other atsign repos that contributors were requested to use semantic/conventional commits/PRs. It's mentioned in a few comments such as this one:

One resource looking into is conventional commits
(Source)

I didn't see it mentioned in the contributing instructions so that's why I added it. If it's in the contributing instructions, more contributors will probably use it, which will save more maintainer time 🤞
Since the end of Hacktoberfest is approaching, is it possible for a maintainer to review this PR? If any changes are required, I'm happy to oblige.
Thanks!

Hi @drecali
We have more documentation of how we use GitHub, including the bot and Conventional Commits at https://github.com/atsign-foundation/.github/blob/trunk/atGitHub.md but you're right that we should have more about it (even if it's just a link to that page) in the CONTRIBUTING.md
The way we'd normally approach this is changing the template repo, then using a script to update all the repos generated from the template. But I can take care of transporting any changes here back into the template and onwards from there.

Sorry about that @cpswan! I didn't realize that's how you manage content in CONTRIBUTING.md. Should I close this PR or are improvements required? Are there next steps or other contribution opportunities I should be aware of?

There's nothing to be sorry about @drecali, we welcome your contribution.
Can you please update this PR by adding a further link to https://github.com/atsign-foundation/.github/blob/trunk/atGitHub.md explaining that this provides further background on how we use GitHub.

Thanks @cpswan! I noticed the link you shared already included a link to the Conventional Commits site so I replaced my link with yours. I also included a link to the .github repo mentioning conventions and configs. Please let me know if more changes are required.

Thanks @drecali
LGTM
Approved and merged :)
I'll use this as the basis for an updated template, and across the existing live repos.


Nim game not available

Nim game is on the game list at: available games. But it is not available in pyspiel.registered_games().

Hi @sagebei,
Are you using OpenSpiel via colabor via the pip binary installation? If so, then it's because that installs the latest release (1.1.1) which did not contain Nim since it was only recently added to master (last month). We are planning a release this month, though-- hopefully within the next week or two. Nim will then be available in that release. Until then, you need to build from source.

Hi @lanctot
Yes, I am using the pip installation. I will reinstall from the source then. Thank you for your prompt reply!

No problem. Remember to uninstall the pip version first (python3 -m pip uninstall open_spiel) otherwise your Python interpreter will likely find that one instead :) Keep an eye out for the release if you want to switch back!


'Invalid token' error with default example.

Trying to send a tweet on push using the default example:
name: Send a Tweet
on: [push]
jobs:
  tweet:
    runs-on: ubuntu-latest
    steps:
      - uses: ethomson/send-tweet-action@v1
        with:
          status: "Test post from GitHub Actions."
          consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
          consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
          access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
          access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}

and getting the following error:
Run ethomson/send-tweet-action@v1

/home/runner/work/_actions/ethomson/send-tweet-action/v1/dist/index.js:4841
                    throw error;
                    ^
[ { code: 89, message: 'Invalid or expired token.' } ]

My keys are in secrets and the app has Read + Write permissions on Twitter.
I tried:

regenerating new keys
creating a new project with new keys
changing permissions from 'Read, Write + Direct Message' to just 'Read + Write' and generated new keys

^^ none of these are working.
Any idea why this wouldn't work and why I would be getting this error with new/regenerated keys?

As a test I used my API keys to do a test post locally from Node and they work so the keys/permissions isn't the issue it seems.

As a test I used my API keys to do a test post locally from Node and they work so the keys/permissions isn't the issue it seems.

Run ethomson/send-tweet-action@v1
/Users/runner/work/_actions/ethomson/send-tweet-action/v1/dist/index.js:4841
                    throw error;
                    ^

Error: HTTP Error: 401 Authorization Required
    at Request._callback (/Users/runner/work/_actions/ethomson/send-tweet-action/v1/dist/index.js:576:9)
    at Request.self.callback (/Users/runner/work/_actions/ethomson/send-tweet-action/v1/dist/index.js:15052:22)
    at Request.emit (events.js:210:5)
    at Request.<anonymous> (/Users/runner/work/_actions/ethomson/send-tweet-action/v1/dist/index.js:16028:10)
    at Request.emit (events.js:210:5)
    at IncomingMessage.<anonymous> (/Users/runner/work/_actions/ethomson/send-tweet-action/v1/dist/index.js:15950:12)
    at Object.onceWrapper (events.js:299:28)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

Having similar issues

I am also getting a Error: HTTP Error: 401 Authorization Required, as @apparition47.

@fepegar I ended up using mugi111/tweet-trigger-release instead in my workflow

I'll give it a try. Many thanks for sharing!

For anyone interested, after not finding a solution to this error, I ended up rolling my own and wrote a post about it here: https://joshuaiz.com/words/using-github-actions-to-post-to-twitter-on-commit


Documentation of commands

Hi,
Working on migrating to this since the shopify_theme gem isn't supported anymore. Upon following the documentation when I ran the configure command with credentials I got this error:
split': bad URI(is not URI?): https://--themeid=[180785167]/admin/assets.json (URI::InvalidURIError)
I ran the command in the format specified, so:
theme configure --password=[my-password] --store=[my-store.myshopify.com] --themeid=[your-theme-id]
However, when I ran it in this format it worked fine:
theme configure api_key password connors-development-store.myshopify.com theme_id
I'm not sure if I did something wrong on my end or the docs need to be updated but I wanted to bring it to light.

Have you deleted the theme gem? because that second format is not correct for themekit. Please paste here the output of which $(theme)
The documents are always up to date and updated when the commands change at all. Please check them out here http://shopify.github.io/themekit/commands/

Thanks for responding @tanema - no, I did not delete the gem. I installed themekit via brew.
my stack trace for that command is as follows:
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/file
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/file
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/FILE
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/command
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/open
/usr/bin/open
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/FILE
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/FILE
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/FILE
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/Users/chmd/.rvm/gems/ruby-2.0.0-p648/bin/theme
/usr/bin/as
/usr/bin/file

If it's helpful, the error that is returned when I run the command in the proper format is:
/Users/chmd/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/2.0.0/uri/common.rb:176:in split': bad URI(is not URI?): https://--themeid=[180785167]/admin/assets.json (URI::InvalidURIError)`

Yup you are still using the theme gem please run rm $(which theme)

ok great thanks a lot @tanema !