More docs required - handling 2FA

I've so far been unable to work out how to handle the SESSION_PASSWORD_NEEDED case for 2FA.
Right now, my code is printing
[14.279] Error 401 SESSION_PASSWORD_NEEDED 2 4

but no promises ever seem to get fulfilled or rejected; it's just sitting indefinitely.
From knowing the Telegram API, I know that I have to call account.getPassword then perform the SHA256 operation on the salt + password, before sending that into auth.checkPassword. I just don't see the bits in telegram-mtproto to let me do that.

Can you enable DEBUG enviroment variable? And send us log file
Like this
DEBUG=* node your_app.js > file.log

/сс @leonerd

OK, I now have a log that contains various bits of application logic plus the debug stuff you were after.
Once the call to auth.sendCode has completed successfully, my program then calls auth.signIn to supply the phone code:
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:networker [Api call]  [145.741]  auth.signIn { phone_number: '44xxxxxxxxx',
  phone_code: '21709',
  phone_code_hash: 'xxyyzz' }<PHONE_NUMBER>556791212 9 { resultType: 'auth.Authorization',
  messageID: '6406251757556791212' }
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.742]  bcd51581<PHONE_NUMBER> auth.signIn[id]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:networker [Container]  [145.743]<PHONE_NUMBER>556791212,6406251757561001868<PHONE_NUMBER>561001872 12
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  9299359f<PHONE_NUMBER> http_wait[id]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  1f4 500 f http_wait(max_delay):int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  96 150 f http_wait(wait_after):int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  bb8 3000 f http_wait(max_wait):int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  73f1f8dc<PHONE_NUMBER> CONTAINER[id]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  2 2 CONTAINER[count]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  1ee4f7ac 518322092 CONTAINER[0][msg_id]:long[low]
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  58e79408<PHONE_NUMBER> CONTAINER[0][msg_id]:long[high]
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  9 9 CONTAINER[0][seq_no]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  30 48 CONTAINER[0][bytes]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  1f25378c 522532748 CONTAINER[1][msg_id]:long[low]
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  58e79408<PHONE_NUMBER> CONTAINER[1][msg_id]:long[high]
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  b 11 CONTAINER[1][seq_no]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  10 16 CONTAINER[1][bytes]:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  1f253790 522532752 message_id:long[low]
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  58e79408<PHONE_NUMBER> message_id:long[high]
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  c 12 seq_no:int
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:type-buffer [writeInt]  [145.744]  68 104 message_data_length:int
[145.962] Error 401 SESSION_PASSWORD_NEEDED 2 4

It then continues via some more HTTP hits apparently. I've trimmed out some of the buffers here as they might contain auth keys:
Fri, 07 Apr 2017 13:28:40 GMT follow-redirects options { maxRedirects: 21,
  protocol: 'http:',
  hostname: '<IP_ADDRESS>',
  port: null,
  path: '/apiw1',
  method: 'post',
  headers: { 'User-Agent': 'axios/0.15.3', 'Content-Length': 136 },
  agent: undefined,
  auth: undefined }
Fri, 07 Apr 2017 13:28:40 GMT follow-redirects options { maxRedirects: 21,
  protocol: 'http:',
  hostname: '<IP_ADDRESS>',
  port: null,
  path: '/apiw1',
  method: 'post',
  headers: { 'User-Agent': 'axios/0.15.3', 'Content-Length': 120 },
  agent: undefined,
  auth: undefined }
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl [int bytes]  [145.950]  abxxxx auth_key_id:int64
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl [int bytes]  [145.950]  5105xxxx msg_key:int128
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl [raw bytes]  [145.950]  4567d47a4xxxxxxxx encrypted_data
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl [int bytes]  [145.953]  2d7cxxxx salt:int64
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl [int bytes]  [145.953]  170d9705a4e3e553 session_id:int64
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.953]  message_id:long[low]<PHONE_NUMBER>
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.953]  message_id:long[high]<PHONE_NUMBER>
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.953]  seq_no:int 5
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.953]  message_data[length]:int 44
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl [raw bytes]  [145.954]  016d5cf3acf7e41e0894e75819ca4421910100001753455353494f4e5f50415353574f52445f4e4545444544 message_data
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.954]  INPUT[id]<PHONE_NUMBER>
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.954]  INPUT[rpc_result][req_msg_id]:long[low] 518322092
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.955]  INPUT[rpc_result][req_msg_id]:long[high]<PHONE_NUMBER>
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.955]  INPUT[rpc_result][result][id] 558156313
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][int]  [145.955]  INPUT[rpc_result][result][rpc_error][error_code]:int 401
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][bytes]  [145.956]<PHONE_NUMBER>4f4e5f50415353574f52445f4e4545444544 INPUT[rpc_result][result][rpc_error][error_message]:string:bytes
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:tl:mediator [read][string]  [145.956]  SESSION_PASSWORD_NEEDED INPUT[rpc_result][result][rpc_error][error_message]:string
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:networker [Server response]  [145.957]  4 { response:
   { _: 'rpc_result',
     req_msg_id: '6406251757556791212',
     result:
      { _: 'rpc_error',
        error_code: 401,
        error_message: 'SESSION_PASSWORD_NEEDED' } },
  messageID: '6406251758287036417',
  sessionID: Uint8Array [ 23, 13, 151, 5, 164, 227, 229, 83 ],
  seqNo: 5 }
Fri, 07 Apr 2017 13:28:40 GMT telegram-mtproto:networker [ERROR][Rpc error]  [145.959]  { code: 401,
  type: 'SESSION_PASSWORD_NEEDED',
  description: 'CODE#401 SESSION_PASSWORD_NEEDED',
  originalError:
   { _: 'rpc_error',
     error_code: 401,
     error_message: 'SESSION_PASSWORD_NEEDED' } }

@leonerd can you add third argument to your api calls for auth.* methods
api('...', {...}, { createNetworker: true })

No change I'm afraid. This promise is just sitting around never making progress. I'll try adding more logging my end and see what happens.

I've now put the debug logging right up in the actual call to MTProto itself:
    return client("auth.signIn", {
        phone_number:    phone_number,
        phone_code:      phone_code,
        phone_code_hash: phone_code_hash
    }, { createNetworker: true }).then(
        (result) => { console.log("auth.signIn resolved", result); return result },
        (err)    => { console.log("auth.signIn rejected", err); throw err }
    );

Neither of those log lines ever gets printed.

Weird, can you try develop branch of telegram-mtproto?

/cc @leonerd

Lets go with "maybe". Is that something I can just make npm install do for me?
npm install telegram-mtproto/develop

doesn't immediately appear to DTRT

npm install zerobias/telegram-mtproto#develop

I think that made it a lot worse. Now my code doesn't even start:
$ npm install 'zerobias/telegram-mtproto#develop'
<EMAIL_ADDRESS>/home/leo/src/matrix/matrix-appservice-tg
└─┬<EMAIL_ADDRESS>(git://github.com/zerobias/telegram-mtproto.git#8ec1902a9cce3316a5f78b06a135d29e152f832c)
  ├──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  └── UNMET PEER DEPENDENCY<EMAIL_ADDRESS><2 || ^2.1.0-beta || ^2.2.0

npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><2 || ^2.1.0-beta || ^2.2.0 but none was installed.
npm WARN<EMAIL_ADDRESS>No repository field.

and then
Error: Cannot find module 'telegram-mtproto'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
...

Perhaps this UNMET PEER DEPENDENCY is to blame?

@leonerd can you do this like this:
git clone https://github.com/zerobias/telegram-mtproto
npm run prepublish
npm link
cd your-project/
npm link telegram-mtproto

and then start your app. We should definitely publish develop branch to npm as well (maybe with another tag like telegram-mtproto@develop)

/cc @leonerd

OK well that made it start up at least. ((For future posterity, you missed the npm install step after git clone but I inferred that))
But still exactly the same result as before - the last output printed is
[62.608] Error 401 SESSION_PASSWORD_NEEDED 2 4

with no sign of my resolve or reject debug print.
(BTW no need to /cc me - I see the replies :) )

I think this is because you're on 4th datacenter. And library only works on 2, because we can't test it on another datacenters :(. Can you add to third param dcID: 4 or dcID: 2 and see if it works?

No effect; code now looks
    return client("auth.signIn", {
        phone_number:    phone_number,
        phone_code:      phone_code,
        phone_code_hash: phone_code_hash
    }, { createNetworker: true, dcID: 4 }).then(
        (result) => { console.log("auth.signIn resolved", result); return result },
        (err)    => { console.log("auth.signIn rejected", err); throw err }
    );

I'm not sure that DC is the thing here. This code is clearly receiving the error - my earlier debug paste shows the error structure arriving in the MTProto stream layer. It just never gets around to rejecting the toplevel client() promise (or resolving it with some sort of error object, I don't mind which as long as I know).

(I don't mind which as long as I know).

This was more the thrust of my original bug title - the fact that very little documentation on how to use this library actually exists; and especially there's nothing written about how to handle errors that come back from these promises. What even will they look like? I'm familiar with the steps at the Telegram API level that I need to take for 2FA, what I don't know is how to interact with this library to make them happen.

If you need to test the DC redirection logic, is it possible to do so in reverse? I.e. make your initial connection to, say, DC4 and have the redirect push you the other way to 2, when you get to the auth stage? That way you can test with your account in DC2.
Also this in particular is a 2FA problem - the login flow all works fine if I disable 2FA. So you'll need to test with a 2FA-enabled account.

this is weird, because I have working authorization in my app here

/cc @zerobias

I'm sure that it is related to datacenters somehow (not redirection)

@leonerd what about dcID: 2 ?

It seems like an issue with dc redirection handling; I'm working on it right now.
Valid usage examples are here https://github.com/zerobias/telegram-mtproto/tree/develop/examples

Valid usage examples are here https://github.com/zerobias/telegram-mtproto/tree/develop/examples

I'm aware of those examples. None of them involve 2FA at all.
In particular, the API flow I'm looking for is the one wherein auth.signIn fails with SESSION_PASSWORD_NEEDED, so you

call account.getPassword to obtain the password hint and hash
ask the user for their 2FA password by printing this hint
calculate the SHA256 hash by concatenating the salt, password, and salt again
send this hash back via auth.checkPassword

In your examples dir, I don't see any that call account.getPassword nor auth.checkPassword, not any use of SHA256.

Ahh... https://github.com/goodmind/treact/blob/development/src/app/redux/api/auth.ts#L47 seems to be indicative. I'll see if I can get something like that to work.

@leonerd what about dcID: 2 ?

Ahah! That seems to be the missing killer feature - that has caused my code to behave differently anyway. It turns out that
{ dcID: 2 }

is sufficient; it doesn't also need to set createNetworker

@leonerd I added separated plugin to make proper password hash. Usage example also in its jsDoc
https://github.com/zerobias/telegram-mtproto/blob/develop/src/plugins/math-help.js#L10

Killer feature is that this library only works on second datacenter :P

OK, well DC redirection issues aside, I have now at least worked out the code required for doing 2FA. Would you like me to send you a PR adding a new example, showing the bits of API I've now learned? Such an example would no-doubt help the next person with this question.

@leonerd  Yes, of course, new examples are always welcome)

https://github.com/zerobias/telegram-mtproto/pull/39

I am wondering whether Buffer or Uint8Array should be used in checkPassword.
Also from the debug log, it stopped after auth.signIn

@zerobias any updates on this problem? Is there any ETA when auth.signIn will reject SESSION_PASSWORD_NEEDED?

Anyone actually found a solution for SESSION_PASSWORD_NEEDED?


Update ammonite to 2.3.8-58-aa8b2ab1

Updates com.lihaoyi:ammonite from 2.3.8-46-37b110d0 to 2.3.8-58-aa8b2ab1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lihaoyi", artifactId = "ammonite" } ]

labels: library-update, semver-pre-release

Superseded by #1255.


Allow uploading to draft releases

Hello again! I notice that when trying to upload to a draft release, upload-assets exits with a "Not Found" error, as seen here: https://github.com/Kansattica/msync/runs/1359949733?check_suite_focus=true
Would it be possible to either have the action also look for draft releases with the proper tag or allow it to take the upload url that create-release provides? Thank you again!

My workflow is to create a release checking the pre-release button, after the build passes, I then uncheck it.
Would that work for you?

It doesn't matter that much in the long run, it's just annoying while
getting the workflow set up because prereleases generate emails, while
drafts don't.
On Thu, Nov 5, 2020, 11:05 AM Alex Ellis<EMAIL_ADDRESS>wrote:

My workflow is to create a release checking the pre-release button, after
the build passes, I then uncheck it.
Would that work for you?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alexellis/upload-assets/issues/2#issuecomment-722578719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTVGUJZZ7WKGVJZIVITMFLSOLZN3ANCNFSM4TLXSVSQ
.

I hear you. Iteration with CI systems is super annoying.
Let's get this closed out then.

Is this feature coming? It would be super-useful to be able to support drafts - I want to be able to create a draft release whenever I merge develop to master, and automatically upload the artefacts, so I can type in some release notes, and then publish. Would love if this could support the draft name coming from the create_release step.
Also, as an aside, it would be nice to enhance the error message so that instead of just 'not found', it said 'release not found' - because until I found this issue I spent ages trying to debug the action not finding the assets in the path to upload.... :)

Is this feature coming? It would be super-useful to be able to support drafts - I want to be able to create a draft release whenever I merge develop to master, and automatically upload the artefacts, so I can type in some release notes, and then publish. Would love if this could support the draft name coming from the create_release step.
Also, as an aside, it would be nice to enhance the error message so that instead of just 'not found', it said 'release not found' - because until I found this issue I spent ages trying to debug the action not finding the assets in the path to upload.... :)

I don't have time to do this now (GitHub Sponsorships are welcome), but contributions are welcome providing that they are tested, agreed beforehand and conform to the DCO
It sounds like we have consensus on passing without error for draft releases. I'm open to a PR for that.


Added a check for administrator privileges

Added Admin privileges for Linux Users.

Thanks for the contribution !

:+1:


LoongArch64 CI

This does a bit more than just add "LoongArch64 CI" - is this supposed to supersede or complement the old #3626 by @xen0n where ISTR there was some inconclusive discussion about naming and what of LASX would work with old vs new world compilers and systems ? A bit more context than "no description provided" would be appreciated here...

Ah. Last year I lost some of my free time so OpenBLAS work got preempted by other higher-priority bring-up work in the LoongArch ecosystem. I plan to check this PR this week (hopefully in a couple of days though) and try to revive the #3626 work...

This does a bit more than just add "LoongArch64 CI" - is this supposed to supersede or complement the old #3626 by @xen0n where ISTR there was some inconclusive discussion about naming and what of LASX would work with old vs new world compilers and systems ? A bit more context than "no description provided" would be appreciated here...

My apologies, I forgot to provide the necessary information for my question。
From my perspective, PR #3626  did the following things (please correct me if I'm mistaken):

Compatibility with both the ”old-world" and “new world” （-mabi=lp64 or -mabi=lp64d).
Compiler feature checks to avoid illegal instructions during compilation.

The first item has already been fixed and merged in PR #4077.
The functionality of the first commit in this PR is related to the second item mentioned above. However, in its implementation, it didn't take into account the differences in LASX and LSX register naming between the so-called “new world” and “old world”. Instead, it directly used $xrN and $vrN.(Currently, I haven't obtained any official information that the register naming convention $vrN and $xrN will be abandoned in the ”new world“. If any issues arise later, I will update it promptly.)
The second commit replaces the ”cpucfg“ instruction with ”getauxval“ for runtime detection when DYNAMIC_ARCH is enabled. The ”getauxval“ instruction can check whether the kernel supports LSX and LASX instructions, making it safer. The issue was raised here.
The third commit adds CI testing for the LoongArch64 architecture using the provided Loongson cross-compilation toolchain (which currently does not support LASX/LSX instructions).
So, this PR is intended to replace the old #3626, If you feel that this PR contains too much content, I can split it into multiple ones.


Readme update

#4

Hi @Vanshika-73
Just wanted to drop a quick note to say thank you for updating the contribution guide. Your input is greatly appreciated!


Set card type methods

Our payment gateway fires an event which tells us the card type (visa/master card/amex). Is it possible to have the an api method or somethign which we can use to show just the card type selected, without any number/name/expiry etc? Something like:
$('.....').card('type', 'visa');
// displays visa card design without name/number

$('....').card('security_code');
// Automatically flips for Visa/mastercard and not for amex

It's a bit of a hack due to the code duplication, but you could throw this in the Card class in card.coffee:
# amex, dankort, dinersclub, discover, jcb, laser, maestro, mastercard, unionpay, visa, visaelectron, elo
setType: (cardType) ->
  unless QJ.hasClass @$card, cardType
    QJ.removeClass @$card, 'jp-card-unknown'
    QJ.removeClass @$card, @cardTypes.join(' ')
    QJ.addClass @$card, "jp-card-#{cardType}"
    QJ.toggleClass @$card, 'jp-card-identified', (cardType isnt 'unknown')
    @cardType = cardType

and then do:
var card = new Card({
    form: document.querySelector('form'),
    container: '.card-wrapper'
});
card.setType('visa');

This is in the scope of #184 — @kaizensoze if you'd be interested in making that into a PR that solves the general problem outlined in #184, I'd be super excited!


FE in first stage of ivreghdfe?

Hi Sergio, Wanted to double check whether the first stage of ivreghdfe includes the same absorb() variables from the second stage, ie, same included instruments. Couldn't find this from the output in stata, also didn't find the option in the help of the command. Thanks!

It does. Since ivreghdfe is almost the same as ivreg2, you can verify by e.g. running ivreg2 with the first option and reghdfe on the first stage:
sysuse auto
ivreghdfe price weight (length=gear) , a(turn) first
reghdfe length gear weight, a(turn)

Awesome. Thanks!


Is angular-cli-live-reload.js missing ?

Getting angular-cli-live-reload.js return error.

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Mac OSX El Capitan

Versions. Please run ng --version. If there's nothing outputted, please run in a Terminal:
angular-cli: 1.0.0-beta.2-mobile.2
node: 6.1.0
os: darwin x64

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.

Nothing special. It's systematic after fresh cli app creation

The log given by the failure. Normally this include a stack trace and some
more information.

Mention any other details that might be useful.

The behaviour seems to happen following the introduction of Handlebars for building the index.html

Thanks! We'll be in touch soon.

turning to ember-cli-live-reload.js seems to be ok

Thanks we'll investigate the proper location of live-reload.

It's probably something I've caused. I noticed it to, but thought it was just with --mobile.


added docker instruction for windows

trytruytr

uyiouy

If there will be an update, feel free to reopen this PR, but please make sure to use git commit --amend.

Noted with thanks.
Regards,
BS
On Tue, Jul 14, 2020, 2:05 PM Lakshman Anumolu<EMAIL_ADDRESS>wrote:

If there will be an update, feel free to reopen this PR, but please make
sure to use git commit --amend.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/acrlakshman/scene_templates/pull/3#issuecomment-658141642,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALIB4PYXWJ5JLYWX3RXLIDLR3RCZ3ANCNFSM4OZOBJLQ
.


Remove install from linter job

Removing install here speeds up linting a lot.
Also the feedback will be more useful feedback to the user.
The install gets executed in the python_ci.yml anyways for every push.
Tested that it still lints by adding violation:
https://github.com/siliconcompiler/siliconcompiler/actions/runs/5521649690/jobs/10070070190
./setup.py:7:1: F401 'streamlit' imported but unused
1     F401 'streamlit' imported but unused
Error: Process completed with exit code 1.

I'd argue if it's an actually unsupported language feature then the install itself in python_ci.yml should catch it.
For hints and styling we probably want to stick with the most recent version.


Error: push_down_projection

Describe the bug
I have a query that has the following structure
    let df = ctx.sql(r#"
    with input as (SELECT * FROM demo OFFSET 1 limit 3)
    SELECT cols_no_available
    from input
    cross join (select payload from demo limit 1) cross_table
    "#).await?;

cols_no_available does not exist and was purposely included in the example to show the error message, which is
Error: Schema error: No field named cols_no_available. Valid fields are input.row_input, cross_table.payload.

Caused by:
    No field named cols_no_available. Valid fields are input.row_input, cross_table.payload.

It clearly says cols_no_available column is not available, but that input.row_input, and cross_table.payload are available. But when I run this query, where I want to select cross_table.payload
    let df = ctx.sql(r#"
    with input as (SELECT * FROM demo OFFSET 1 limit 3)
    SELECT cross_table.payload
    from input
    cross join (select payload from demo limit 1) cross_table
    "#).await?;

I get the error
Error: push_down_projection
caused by
Internal error: Optimizer rule 'push_down_projection' failed, due to generate a different schema, original schema: DFSchema { fields: [DFField { qualifier: Some(Bare { table: "cross_table" }), field: Field { name: "payload", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} } }], metadata: {} }, new schema: DFSchema { fields: [DFField { qualifier: Some(Bare { table: "input" }), field: Field { name: "id", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} } }, DFField { qualifier: Some(Bare { table: "cross_table" }), field: Field { name: "payload", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} } }], metadata: {} }. This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker

on the other hand, the query runs fine, having input.row_input instead of cross_table.payload
To Reproduce
Construct a query where a CTE is being used with a cross join. The cross join cannot be accessed.
Expected behavior
It should be able to query the columns in a cross join with a CTE
Additional context
datafusion = { version = "24.0.0" }

i did some test on version 25.0.0, it's look

#[tokio::test]
async fn test_6542() -> Result<()> {
    let ctx = create_join_context()?;

    ctx.sql(
        r#"
            with input as (SELECT * FROM demo OFFSET 1 limit 3)
            SELECT cross_table.payload
            from input
            cross join (select payload from demo limit 1) cross_table
    "#,
    )
    .await?
    .explain(true, false)?
    .show()
    .await?;
    Ok(())
}

if you still got error, please upload output of explain. thanks

Closing this one down -- please reopen or open a new ticket if you see this symptom again.
Thanks!


Multiple workspace

Now user can right-click on vscode explorer to open any folder
Add unit test for tree render

other:
fix render bug


Add features from next to master

As described in #27 I rebased next fixing two failing tests. I also updated the README describing the new record syntax and the possibility to define instance methods.

@paldepind care to have a look at this? :)

Hello @gilligan. I am sorry for leaving you waiting. I just had my last exam today—so I have more time now.
Thank you a lot_ for bringing the changes in the next branch up to date and for pushing me to get these changes published.
This is my current plan:

Merge this PR
Fix the problem I mentioned here:

The biggest problem in my implementation is that when you create a value from an object the fields will be put both in numerical properties (0, 1, etc.) and in the field name properties (name, id, etc.). I think not keeping numerical properties for record-like-types is the solution.

Implement an idea for a better way to define instance methods.
Open a new issue to hear what people think

Does that sound fine to you?

Is it possible to merge this against the next branch instead of the master branch?

Sure, I will do a new PR tomorrow.

@gilligan Thank you :smile:


feat(bridge/assets): include Propy token addresses

What changed? Why?
Inclusion of PRO token within the prospective list of tokens which may be reviewed for inclusion within Base's official bridging UI
Notes to reviewers
The token is a OptimismMintableERC20 but please note that it uses 8 decimal places, instead of 18, in order to have parity with the L1 token. This means that we deployed a newer (official) version of OptimismMintableERC20 contract (this here), that the primary factory contract doesn't yet support, with the only adjustment being that the newer contract allows decimal places to be specified. You can see part of the discussion with the Optimism team here & here. Please note that the contract is not modified aside from the path used to import the interfaces due to a "custom" deployment needing to be done instead of using the factory contract (can be seen in the "evidence" section below).
Optimism STL inclusion: https://github.com/ethereum-optimism/ethereum-optimism.github.io/pull/626
Other references: https://github.com/base-org/web/pull/243 & https://github.com/base-org/web/pull/291
How has it been tested?
I tested to make sure that the client-side aspects of the adjustment work as expected (i.e. showing in dropdown of coins with the correct icon)
Does this PR add a new token to the bridge?

[ ] No, this PR does not add a new token to the bridge
[X] I've confirmed this token doesn't use a bridge override
[X] I've confirmed this token is an OptimismMintableERC20

Please include evidence of both confirmations above for your reviewers.

Comparing the code between reference code & deployed code

Comparing the bridge addresses on the contract to the bridge address in Base docs.

@JayWelsh Thank U for the details! This will go through our internal review process.

Closing for now but we'll be sure to open if approved, in order to proceed with the addition.


Optimize gulp tasks

The original gulp tasks are a bit hacky. They work, but there may be a more effective/efficient way of writing them.

Issue is complete, however it's created another issue #32


Fixes motion issues (#1255)

Removes a NullInjectorError for the ChoiceService when sorting motions within a category
A delegate could see the menu entry for motion blocks if any are available
The number of assigned motions to a motion block is shown in the list of motion blocks
The button "Follow the recommendation for every motion" works
When editing a motion its correct workflow is shown
When removing groups from a participant by using the multiselection, the participant will still stay in their meeting (Fixes #1271)

Fixes #1255
Fixes #1269

Rebased and fixed linter issues.


proxy shouldn't kill containers when it restarts

To reproduce:

start weave, and containers
stop weave
start proxy

This is on master, right?

@bboreham will know more, but yes, I think this is just on master

The killing started in #932, however it was limited to situations where the container had just started.
It was extended to happen on proxy restart in #1210, which is not in any release yet.
To fix this issue, we want to remove --or-die when the attach is called from AttachExistingContainers().  But this then exposes a race on reboot: if, when weaveproxy comes up, weaver is not ready, we will fail the attach and leave application containers stuck in weavewait.  So we need some kind of re-try on failed attaches.

But this then exposes a race on reboot: if, when weaveproxy comes up, weaver is not ready, we will fail the attach and leave application containers stuck in weavewait

Whereas right now it kills them?

So we need some kind of re-try on failed attaches.

I'd treat that as a separate issue.

Whereas right now it kills them?

Indeed.  No witnesses, no loose ends.

Ha ha.


feat(@vtmn/css, @vtmn/svelte, @vtmn/react, @vtmn/vue): rework VtmnNavbarLink for SSR

BREAKING CHANGE: 'VtmnNavbarLink' remove properties label and showLabel, replaced by a span slot
Changes description
Move the Label property into slot in order to apply a sr-only with breakpoints.
Context
With SSR, it is not possible to detect the width of the device. So, in order to avoid flikering effects, we have to set the label on a slot in order to apply style show/hidden on it.
How it looks

On the navbar

Checklist

[x] Make sure you are requesting to pull a topic/feature/bugfix branch. Please, don't request directly from your main!
[x] Check commits & PR names matches our requested structure. It must follow the https://www.conventionalcommits.org pattern.
[x] Check your code additions will fail neither code linting checks.
[x] I have reviewed the submitted code.
[x] I have tested on related showcases.
[ ] If it includes design changes, please ask for a review design-system-core-team-design GitHub team.

Does this introduce a breaking change?

Yes

Other information
Rework the css part and enhancer the CSS in order to match the figma with the VtmnBadge.
Current :

Target :

Since it's a breaking change, how come it was released as 2.3.0 instead of 3.0.0?

Totally agree, with the BREAKING CHANGE label, should have updated as a major version 🤔

I agree with you, something went wrong. I'm reverting the commits until I find some times to check on this: https://github.com/Decathlon/vitamin-web/pull/1435
Thanks @C0ZEN  :)


Support multiclass classification

to solve #43
I'd like to open this PR to let more people see and help build or test on this feature.
Lastest version.
You need to set objective = multiclass and metric = multi_logloss(or multi_error) in train.conf, num_class = in both train.conf and predict.conf. There is an example in example/multiclass_classification.

@wxchan Thanks for your nice work.
However, this seems will have conflict with my PR for the prepare of c_api. I refine some interface on boosting.h and metric.h.
Maybe you can continue after I finish the changes for interface refine.
Thanks again.

Hi, @wxchan , you can rebase master for the new c_api.
BTW, could you please also give some test example for this PR?

@guolinke I fixed the conflicts according to your new commits.
@chivee I already added an example in examples/multiclass_classification. You can run it and use compare.py here to compare its performance with xgboost.

A small bug when save the model. I think this line is not necessary. Because you already pop_back the trees if meets early stopping. The remaining trees will save at next SaveModelToFile(). After my commit, some trees will save twice, can't figure out why.
Btw, is it necessary to delete back() before pop_back()? I thought pop_back() (see docs) will delete it anyway.

@wxchan I think pop_back() cannot free the resource of a pointer.
refer to: http://stackoverflow.com/questions/10696124/vectorclear-pop-back-wont-run-destructor
https://www.daniweb.com/programming/software-development/threads/170492/does-std-vector-s-pop-back-free-the-memory
http://stackoverflow.com/questions/10696124/vectorclear-pop-back-wont-run-destructor

@wxchan  to avoid save repeated model, you need to change this as well.

@guolinke Yes, I know, but I can't figure out how. (I already changed  early_stopping_round_ to early_stopping_round_ * num_class_, but it's not where the problem is)
Actually, I am not sure your origin code is right. For example, set early_stopping_round_ = 10, and assume when iter = 50, it meets early stopping criteria. In this situation, at iter 50, you already write first 40 trees to file. Then because of you pop last 10 trees in TrainOneIter(), the models_.size() = 40. So, rest = 40 - 10 = 30. Then at line 336, saved_model_size_ = rest = 30. So, in line 341-348, 31-40 trees are saved again.
You can try to remove the SaveModelToFile() line I mentioned above and see it works. At least the result seems right.

@wxchan Thanks, you are right. I will fix this directly, then merge your PR after some other reviews.

@wxchan I fix this by change this https://github.com/Microsoft/LightGBM/blob/master/src/boosting/gbdt.cpp#L321 .
Use "iter_" is not so elegant.


Error - Station streams list empty

I use this utility almost daily to listen to radio stations while I work.  I hope you're still willing to update the code again.
I'm betting that iheart changed their API in some way again that has caused this problem.  Every station I try to play is met with the error "station streams list empty".  Looks like that's in parse_iheart_json.py
I'm going to see if I can fix it myself, and if I actually can then I'll submit the fix.  But you can probably fix it 10 times faster than I could.
Thanks!

I have a tool that depends on this as well, I’m working around this by hard
coding the stream urls. I will also dedicate some bandwidth this week to
search for a solution.
On Sun, Jul 16, 2017 at 6:56 AM wright546<EMAIL_ADDRESS>wrote:

I use this utility almost daily to listen to radio stations while I work.
I hope you're still willing to update the code again.
I'm betting that iheart changed their API in some way again that has
caused this problem. Every station I try to play is met with the error
"station streams list empty". Looks like that's in parse_iheart_json.py
I'm going to see if I can fix it myself, and if I actually can then I'll
submit the fix. But you can probably fix it 10 times faster than I could.
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/oldlaptop/iheart-mplayer/issues/5, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABboC5-Vy9eHijrTQqqpqbyjv_i0du4Dks5sOhaBgaJpZM4OZTdX
.

--
— Rohan

Indeed the API has changed, and it appears that I'm not the only one with iheartradio code on Github anymore, and someone else has already noticed: https://github.com/TooTallNate/iheart/commit/c50290276e6e2f4068a7beb56b79eb49f2ee4c9f
Thus I should be able to use his URLs for the moment, although this is also as good an excuse as any to packet-capture the latest official app.

Most stations should at least return a working stream as of 9c554c5efd09520bf1312b4049edb98bd1a6daa5; more work is needed to handle the new API really correctly.

I'm satisfied with basic functionality for now; please reopen if a previously-working station still fails.


theme download jumps to 100%, doesn't download anything

Happens since 0.7.2 update. theme download shoots straight from 0 to 100%, nothing downloads. Deleting the lock file fixes, but that might be obvious. 😄
Happy to provide some more feedback as all of this is pretty generic, let me know what you need!
Config is barebones: development, password, theme_id, store
What I expected to happen
theme download should have grabbed files from the server.
What actually happened
It didn't!
Steps to reproduce

Update to 0.7.2 from previous.
theme download

My Environment
OS (including version): Win 10 latest.
Themekit version: 0.7.2
Ignore Files(if any): None.

So this is a feature of the newest version, if there are no updates to the files remotely and all versions match your manifest, it won't waste the bandwidth downloading a file that hasn't changed and will skip it. If you run theme download -v you will see [environment] skipping [filename]
If however you know some of the files have changed and they were not downloaded please confirm that.

I thought it may have been something like this when I found the lock file, but I was pretty sure there were remote changes - though I'm probably just mistaken. It's late here now so if it's cool I'll leave this open and confirm in the morning.
Thanks for your (and anyone else involved) work on this feature btw, I think it's the only complaint I could have come up with if somebody asked me about Theme Kit!

No problem, you can confirm this later I would definitely want to know it is working. 👍

Also as a note to anyone who comes in this issue wondering about this as well, you can skip the checking with the --force or -f flag and not have to delete your theme.lock file.

Tried this on two different terminals, seemed to work fine on one but redownload everything on the other. It may just be because I was messing with the lock files though, so I'll close this off and it can serve as a notice to anyone else who comes along with the same issue.
Will keep running with the verbose flag for a few days and report back if I see anything odd. Thanks again!


[VT-123] Pressing the D key on an annotation asks for (and performs) task deletion.

Terran Air on 2015-08-08T07:27:04Z says:
Tested this on Arch Linux.
Tested on taskwarrior 2.4.4, vit 1.2, 1.3, vit-master.
When over an annotation and pressing the delete key (Shift-d/D) the annotation is treated as its parent task. The task and the annotation are both deleted.
This bug DOES NOT occur on taskwarrior 2.2.0 (an older arch package I have).

Migrated metadata:
Created: 2015-08-08T07:27:04Z
Modified: 2016-08-09T06:41:58Z

Scott Kostyshak on 2015-08-08T16:35:30Z says:
Thanks a lot for the feedback, Terran Air!
I can indeed reproduce. It is probably just a regex that no longer matches so it does not detect the annotation. It is bugs like these that make me ashamed of not having implemented tests yet. I hope to get to them eventually.
I'm marking priority as "major" (regressions for me are almost by definition major, whether they occur because of a new Taskwarrior version or a change in Vit itself) and marking the version in which a fix should be released as 1.3.
Thanks for testing!

Scott Kostyshak on 2015-08-08T16:35:53Z says:
Note to self: make sure that the fix still works for older Taskwarrior versions.

Terran Air on 2015-08-10T10:10:03Z says:
Awesome. Can't wait for the fix. Does 1.3 have a release date? Based on the commit history, 1.3 seems to be just a branch. Can't find a roadmap. (Derp! Nevermind! Found it!) I've only started using vit recently, but am in love with it already. This tool is awesome. Keep up the great work.

Terran Air on 2015-08-10T13:05:55Z says:
Think I found the fix!
The date format has been changed at some point.
Old (your hard code) is m/D/Y annotation
New (tw 2.4.4) is Y-M-D annotation
The code is in cmds.pl on line 63.
Add dateformat=m/D/Y to the bottom of ~/.taskrc and update taskwarrior and see it work.
The code has to read the dateformat variable in ~/.taskrc regardless of what it is (make it dynamic), because certain strings (user-definable) break the parsing as it is now (static/hardcoded).
Anotations are slightly indented, maybe that could work.
I have no idea how to help with that sorry. For now just switch to the new format: Y-M-D (new ~/.taskrc).
Good luck and thanks!

Scott Kostyshak on 2015-08-10T15:50:17Z says:
Great thank you for digging in and figuring that out! I appreciate that.
No release date for 1.3 yet. I have lagged on it, but hope to get back to it soon.
Thanks for the help and keep the feedback coming.

Scott Kostyshak on 2015-10-08T04:41:06Z says:
Fixed at e6babf5c.

mehturt on 2016-08-08T14:54:08Z says:
Hi all, I just started to use taskwarrior with vit today. I came across this same issue.
Is there a workaround for tw 2.3.0 and vit 1.2 (Debian stable)?
Thanks.

Scott Kostyshak on 2016-08-08T16:24:01Z says:
Hi mehturt, I would recommend using the 1.3 branch of VIT. Several bugs have been fixed and it is quite stable. Hopefully a beta will be released soon. There is no compiling necessary and I don't think you'd have to install any extra dependencies. Just do a git clone, git checkout 1.3, ./configure, make, make install.
If you don't want to do that for some reason, here is the diff of the fix, which you can apply manually to your VIT executable (you cannot apply the diff to the executable with patch, just search for the relevant line and replace it with the new line):
{code}
diff --git a/cmds.pl b/cmds.pl
index e84f1ab..fc38566 100644

-- a/cmds.pl
+++ b/cmds.pl
@@ -64,7 +64,7 @@ sub task_den_or_del {
for my $t (0 .. $#{ $report_tokens[$task_selected_idx] } ) {
$str .= "$report_tokens[$task_selected_idx][$t]";
}
my $target = ( $str !~ s/^\s*\d+/\d+/\d+\s+// )

my $target = ( $str !~ s/^\s*\d+[/-]\d+[/-]\d+\s+// )
? "task"
: "annotation";
$str =~ s/\s+$//;
{code}

mehturt on 2016-08-09T06:41:58Z says:
Thanks, I replaced that regexp manually and it works.


int conversion doesn't work if value comes from function using quote

Hello,
I would like to report a behavior I've identified as a bug when the int conversion function is used. In some specific cases, this function returns 0 instead of the converted value.
For example, with the following template:
standard:
  one: {{ 1 }}
  one-from-string: {{ "1" | int }}
with-function:
  {{- define "returns_one" }}
    {{- 1 }}
  {{- end }}
  one-from-function: {{ include "returns_one" . }}
  one-from-function-as-int: {{ (include "returns_one" .) | int }}
with-quote-function:
  {{- define "returns_one_with_quote" }}
    {{- 1 | quote }}
  {{- end }}
  one-from-function: {{ include "returns_one_with_quote" . }}
  one-from-function-as-int: {{ (include "returns_one_with_quote" .) | int }}

The generation using helm template gives me the following result:
---
# Source: foo/templates/example.yaml
standard:
  one: 1
  one-from-string: 1
with-function:
  one-from-function: 1
  one-from-function-as-int: 1
with-quote-function:
  one-from-function: "1"
  one-from-function-as-int: 0

You can see the value with-quote-function.one-from-function-as-int returns 0 where every other cases return 1 as an int or string.
I wasn't able to understand what's causing this issue and I consider it as a bug.
All files to reproduce the case are available in this GitLab repository
Output of helm version: v3.16.3
Output of kubectl version: N/A, just the templating part is concerned
Cloud Provider/Platform (AKS, GKE, Minikube etc.): N/A, just the templating part is concerned

I can reproduce this issue. The quote function converts numbers into strings with quotes. For example, it converts 1 into "1", which has 3 characters, while the string 1 has only 1 character. For "1", similar to a, it cannot be converted into a number using int, so | int will default to returning 0.
standard:
  one: {{ 1 }}
  one-from-string: {{ "1" | int }}
with-function:
  {{- define "returns_one" }}
    {{- "1" }}
  {{- end }}
  one-from-function: {{ include "returns_one" . }}
  one-from-function-len: {{ (include "returns_one" .) | len }}
  one-from-function-as-int: {{ (include "returns_one" .) | int }}
with-quote-function:
  {{- define "returns_one_with_quote" }}
    {{- 1 | quote }}
  {{- end }}
  one-from-function: {{ include "returns_one_with_quote" . }}
  one-from-function-len: {{ (include "returns_one_with_quote" .) | len }}
  one-from-function-as-int: {{ (include "returns_one_with_quote" .) | int }}


(Request/Question) gorilla-repl... script?

I am using gorilla-repl interactively to make a variety of plots to visualize results from a very large computation. At the moment I just re-run the cells in the worksheet by hand once computations have finished. Once these are done, I save the webpage and convert to a pdf.
The challenge I have is that I need to do this for 300 datasets. Naturally I do not want to re-run the cells by hand for all 300. Is there a way in which gorilla-repl can be accessed programmatically? Ideally I would like for a given input dataset, computation to be run, all figures be re-plotted in all the relevant cells and then the webpage is saved.
Currently I do not know how to do this. I can plot using an alternative library, Jfreechart in incanter for instance, which allows me to save figures to a png, but I prefer the plotting functionality in gorilla-repl. Is there a way to automatically generate the worksheet after computation and save?

#259 might give you some help?

Yeah, you can add deps in the boot script which will be available to your app.

I'm closing this for now. Let me know if you need clearer instructions.


how to filter policies by multiple conditions

cmdb.firewall.policy.get(efilter=["dstaddr==<IP_ADDRESS>",'srcaddr==<IP_ADDRESS>'])
it does not work.

filter - parameter can be used to filter by any data key/value.
efilter - parameter is designed to filter by prefixes using the syntax A.B.C.D/LEN.
In your example of using efilter, you need to fix the prefix syntax.
Links to some tutorials:
Extended filtering conditions
Filter policies


Ssc 535 fix tiers net billing

Tracks the surplus and deficit tiers (they can be different) differently for net billing and buy all / sell all. This code will correctly allocate kWh to lower tiers before moving on to upper tiers.
Utility rate:

Behavior in 2020.11.29:

Behavior in this PR:

Test file available in https://github.com/NREL/ssc/issues/535

You can see the changes from the first tier in January to the second in the attached image

The tier transition occurs occurs at 11 am on the 5th. 2020.11.29 allocates the entire hour to the higher tier, whereas this code splits it between tiers 1 and 2, resulting in a lower energy charge in that hour.
I've never seen text from a utility that supports the discrete allocations, they always cut it off strictly at the tier kWh.


Manager tests

Closes #298
Changes

New mocks
New tests to verify behavior of two ensembles -- each with its own manager and group plugins -- for the cases

neither one of the ensembles is the leader
one of the ensembles become leader
one ensemble was leader then leadership is transferred / fail-overed to another

There are a bunch of unsigned merge commits which Gordon seems to get confused and complains about.  We use squash merge so these should be ok.

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 "manager-tests" git@github.com:chungers/infrakit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354169992
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

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

Current coverage is 68.97% (diff: 100%)

Merging #306 into master will decrease coverage by 2.01%

@@             master       #306   diff @@
==========================================
  Files            25         27     +2
  Lines          1241       1441   +200
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            881        994   +113
- Misses          285        355    +70
- Partials         75         92    +17

Powered by Codecov. Last update 06ab6e7...cbc6adc


Make CFE/Kernel run on Dart 2

A tracking issue for this task.

Work has started on this.  Estimated 100% done at this point but triggers some bugs in testing that need to be fixed before it's usable.

https://github.com/dart-lang/sdk/issues/31623 is a dup of this.

Fixed in 2d46ebd6a5c5d826ccaa6a34b00ce8564bedeaa5.


hex property for Color objects

I'd like to have an extra .hex property in the Color object, that contains a string representing the hexadecimal color code.
eg.
>>> print(my_color.hex)
'#0A1FB5'

I first thought I needed this too, but then remembered that CSS supports RGB colors too. So converting a Color object to one usable in CSS is just:
css_color = f"rgb({color.rgb.r}, {color.rgb.g}, {color.rgb.b})"

I would second this, but also include HSB/HSV, HCL, HCB/HCV, YCbCr, YCoCg, and others.
Who wanna do a pull request? This should be easy as PIE

I would second this, but also include HSB/HSV, HCL, HCB/HCV, YCbCr, YCoCg, and others.
Who wanna do a pull request? This should be easy as PIE


formatE164 error

Hey, I was implementing a test file for phone numbers using protractor in angularjs and came across this error which I thought I should point it out..
error message:
Expected '+1123456' not to be defined.
	Error: Expected '+1123456' not to be defined.

code line:
  expect(formatE164('US','123456')).not.toBeDefined();

And I think formatE164 should return 'undefined' in this case instead of putting +1 in front of invalid U.S number...

yeah this is not correct:
formatE164("US", "+6043553085");

"+6043553085"

That's because by adding the plus it's already in e164 format.  Remove the
plus and it will do what I think  you we're expecting.
On Friday, March 27, 2015, Tommy Chan<EMAIL_ADDRESS>wrote:

yeah this is not correct:
formatE164("US", "+6043553085");
"+6043553085"
—
Reply to this email directly or view it on GitHub
https://github.com/albeebe/phoneformat.js/issues/14#issuecomment-87117057
.

gotcha :bow:


Automated cherry pick of #5805: fix: 优化rds sku list查询速度

Cherry pick of #5805 on release/2.12.
#5805: fix: 优化rds sku list查询速度

Codecov Report

Merging #5809 into release/2.12 will decrease coverage by 0.49%.
The diff coverage is 2.71%.

@@               Coverage Diff               @@
##           release/2.12   #5809      +/-   ##
===============================================
- Coverage          7.32%   6.83%   -0.50%
===============================================
  Files               490     506      +16
  Lines             78961   86343    +7382
===============================================
+ Hits               5782    5898     +116
- Misses            72692   79950    +7258
- Partials            487     495       +8

Flag
Coverage Δ

#aFlag
6.83% <2.71%> (-0.50%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/appsrv/fetch.go
0.00% <ø> (ø)

pkg/appsrv/send.go
7.69% <ø> (ø)

pkg/baremetal/agent.go
0.00% <0.00%> (ø)

pkg/baremetal/cronjobs.go
0.00% <0.00%> (ø)

pkg/baremetal/manager.go
0.51% <0.00%> (-0.07%)
:arrow_down:

pkg/baremetal/tasks/base.go
14.00% <0.00%> (-0.82%)
:arrow_down:

pkg/baremetal/tasks/basedeploy.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/baseprepare.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/bm_register.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/cdrom.go
0.00% <0.00%> (ø)

... and 236 more

Continue to review full report at Codecov.

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


Small styling changes

Coverage remained the same at 82.222% when pulling b8387654ed5ca94c14c01490f0525bf024eaffd9 on dev into 35412a758a40771d5ef5cc9c4a6f47f5c21e2461 on master.


Add myself to MAINTAINERS

Added myself as maintainer  : )
List of PRs

Codecov Report

Merging #20786 (59f0b59) into main (1f06387) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #20786   +/-   ##
=======================================
  Coverage   47.03%   47.03%
=======================================
  Files         987      987
  Lines      136396   136396
=======================================
+ Hits        64156    64157    +1
+ Misses      64361    64356    -5
- Partials     7879     7883    +4

Impacted Files
Coverage Δ

modules/process/manager_exec.go
86.04% <0.00%> (-6.98%)
:arrow_down:

modules/git/repo_base_nogogit.go
71.69% <0.00%> (-3.78%)
:arrow_down:

modules/git/utils.go
66.29% <0.00%> (-3.38%)
:arrow_down:

models/issues/comment.go
49.78% <0.00%> (-0.66%)
:arrow_down:

services/pull/pull.go
40.80% <0.00%> (+0.46%)
:arrow_up:

modules/queue/queue_bytefifo.go
50.54% <0.00%> (+3.24%)
:arrow_up:

modules/indexer/stats/queue.go
59.09% <0.00%> (+9.09%)
:arrow_up:

modules/util/timer.go
100.00% <0.00%> (+14.28%)
:arrow_up:

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


Bulk insert rate-limiting.

Hi,
Currently, it seems as though PGSync attempts to sync data as rapidly as possible upon the initial sync. This works well in most cases, but when indices need to be rebuilt in an environment with tight resource constraints, it tends to fall apart a bit.
On systems with limited CPU and memory, the initial sync often leads to 429 responses and timeouts from Elasticsearch. This means that when a new index is being built, even reading from the instance becomes extremely slow or even impossible.
A logical solution to this is to throw more resources at the Elasticsearch instance, but this also leads to wasting compute capacity as these resources are only needed during the initial sync once every now and then.
The current environment variables are of some help, but would it be possible to add a more advanced form of rate-limiting? Perhaps some way to control the number of requests made to the Elasticsearch server per second?
Thanks!

Can you please try ELASTICSEARCH_STREAMING_BULK mode. This supports handling the 429 responses.
The elasticsearch client already handles this very well and I would like to avoid duplicating the effort in pgsync.

I managed to get things stable by tweaking the pgsync environment variables a fair amount to work with smaller AWS Opensearch servers.


Vault: mTLS / TLS auth support

Describe the solution you'd like
I'm planning on using Vault with mTLS [1] + the TLS auth engine [2]. To do so, it must be possible in the SecretStore CRD to configure a private key + certificate that the Vault client should  use when connecting to a Vault server via TLS.
What is the added value?
Use mTLS to securely connect to Vault + authorize against it.
Give us examples of the outcome
In addition to the caBundle, it should be possible to specify cert + key files, which are then passed to the Vault client.
Observations (Constraints, Context, etc):
None to note, this is a feature request.
[1] https://www.vaultproject.io/docs/configuration/listener/tcp#tls_client_ca_file
[2] https://www.vaultproject.io/docs/auth/cert#tls-certificates-auth-method

Hi @sbaier1 ,
Thanks for your issue. I finally was able to dedicate some time to it this week. I'm not very familiar with Vault and I'm having trouble getting mTLS and the TLS Authentication Engine going, even before I work on the SecretStore crd. Can you help me setting the keys and certificates in the right place?
This is my understanding of the certificates and keys that we create before we implement the solution.
Server
Private Key - SERVER_PRIVATE_KEY
Public Key - SERVER_PUBLIC_KEY
Certificate Signed by CA - SERVER_CERTIFICATE
Client
Private Key - CLIENT_PRIVATE_KEY
Public Key - CLIENT_PUBLIC_KEY
Certificate Signed by CA - CLIENT_CERTIFICATE
Certificate Authority
Private Key - CA_PRIVATE_KEY
Public Key - CA_PUBLIC_KEY
Certificate - CA_CERTIFICATE
After having created these files I use them for configuring the Vault. I add to the vault server configuration file the following:
      listener "tcp" {
        address = "[::]:8200"
        cluster_address = "[::]:8201"
        tls_cert_file = SERVER_CERTIFICATE
        tls_key_file  = SERVER_PRIVATE_KEY
        tls_client_ca_file = CA_CERTIFICATE
      }

For authentication, I need to to deploy a certificate for clients to authenticate against:
vault write auth/cert/certs/web \
    display_name=web \
    policies=web,prod \
    certificate=CA_CERTIFICATE \
    ttl=3600

I then login as follows:
vault login -method=cert \
   -ca-cert=CA_CERTIFICATE \
   -client-cert=CLIENT_CERTIFICATE \
   -client-key=CLIENT_PRIVATE_KEY

Question
I would like to double check whether the keys and certificates are assigned correctly. In particular whether:
tls_cert_file = SERVER_CERTIFICATE
tls_key_file  = SERVER_PRIVATE_KEY
tls_client_ca_file = CA_CERTIFICATE

certificate=CA_CERTIFICATE

-ca-cert=CA_CERTIFICATE
-client-cert=CLIENT_CERTIFICATE
-client-key=CLIENT_PRIVATE_KEY

This was implemented in #265 :tada:


Support for Laravel 6.

I made the package working for Laravel 6.X. Minimum PHP required is same as Laravel, 7.2
Also all tests were upgraded to work with newest PHPUnit.
All tests are passed.
Please review and approve.

Added auto package discovery.

@edvinaskrucas Please can we get a release tagged for this?
I have tested using a fork and it works great. Thanks.


Storage configuration

Hi,
it is possible to configure storage interactively during installation using your method?

Hi, yes it is totally possible. Here is an example user-data file with interactive storage (modified from the user-data.example file in this repository):
#cloud-config
autoinstall:
  version: 1
  interactive-sections:
   - storage
  identity:
    hostname: ubuntu-server
    password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
    username: ubuntu

Have a look at https://ubuntu.com/server/docs/install/autoinstall-reference where you will find documentation for the user-data file, including how to make sections interactive during installation.

Hi,
thank you for your response. Yes I also found it on ubuntu webpage. Everything worked just fine but when I tried to reboot this error occured.

Have you tried your method with the latest version of ubuntu server, version 20.04.2?

In my testing I am able to replicate this. It appears that one file is having its name truncated for some reason. Inside the orginal ISO file, there is a file "pool/main/l/linux-hwe-5.8/linux-modules-extra-5.8.0-48-generic_5.8.0-48.54~20.04.1_amd6.deb". In the generated ISO, it is named "linux-modules-extra-5.8.0-48-generic_5.8.0-48.54~20.04.1_amd6.de" (notice it is missing a "b" at the end). I have no idea why that would happen. At first I thought it could be a path length limit but I don't think the path is long enough to cause that. Still investigating.

Ok. Thank you. I don't know what can cause it. Now I use a legacy version
in order to set storage configuration interactively during installation.
So after changing this file name everything works fine?
Dňa št, 25. mar 2021 18:34 covertsh @.***> napísal(a):

In my testing I am able to replicate this. It appears that one file is
having its name truncated for some reason. Inside the orginal ISO file,
there is a file
"pool/main/l/linux-hwe-5.8/linux-modules-extra-5.8.0-48-generic_5.8.0-48.5420.04.1_amd6.deb".
In the generated ISO, it is named
"linux-modules-extra-5.8.0-48-generic_5.8.0-48.5420.04.1_amd6.de" (notice
it is missing a "b" at the end). I have no idea why that would happen. At
first I thought it could be a path length limit but I don't think the path
is long enough to cause that. Still investigating.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/covertsh/ubuntu-autoinstall-generator/issues/6#issuecomment-807151870,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOA6BWTI6O57SARFIAZLWE3TFNXZ3ANCNFSM4ZIYY3XA
.

I think there is actually a problem with the ISO images being published by the Ubuntu project at the moment. The file is named linux-modules-extra-5.8.0-48-generic_5.8.0-48.54~20.04.1_amd6.deb in the downloaded ISO (verified with SHA256 hash and GPG signature) but the md5sum.txt file contains the line d09244a003ee46b5d2e81160f044c465  ./pool/main/l/linux-hwe-5.8/linux-modules-extra-5.8.0-48-generic_5.8.0-48.54~20.04.1_amd64.deb. (see amd6 instead of amd64) This means that whoever packaged up the ISO image at Ubuntu made a small mistake in the name of the file, which causes a warning at the start of the installation.
There is a second problem which is the truncation of the final "b" at the end of the filename when using my script. I have made a commit to enable long file names in the mkisofs command options which has fixed that.
Lastly, I see the following error in the subiquity installer log after the crash when I reproduce the issue:

This does not happen in a fully-automated installation, perhaps because the reporting is disabled? (I believe that is what controls the HTTP requests). Unfortunately according to the autoinstall reference, the reporting setting is ignored if any sections are interactive. I think this is why you are getting a crash and sadly I don't think we can fix that without the Ubuntu making a fix for the bug in subiquity. I might be wrong about why this is crashing but that is what my troubleshooting suggests for now. The only thing I suggest is to not use interactive sections for the time being, but that might not be suitable for you. Instead you could use an older ISO if you have one already and tell the script to use that with the -s option.

Thank you for your help. I really appreciate it. I can't use fully automated installation. But I am still able to use legacy vesion of ubuntu server 20.04.1. It uses old preseed method. As long as this error exist, it is the best choice for me.

I have tested this again today with the latest ISO and the issue is still present unfortunately.

Hooray! I tested again today with the latest daily ISO (20.04.3) and the user-data file I posted as an example for interactive storage configuration worked. At the end, the reboot worked fine and did not crash the installer. I think that issue has been fixed.
However, the MD5 check still gives an error because the linux-modules-extra file is still being renamed with missing characters. This does not cause an issue during the installation and the checks can also be disabled with the -c option for the generator script. I won't close this issue for now while I continue to investigate that, but the interactive storage problem seems to be resolved.

@covertsh I ran into the same issue with a file missing "d64", namely /pool/main/l/linux-hwe-5.11/linux-modules-extra-5.11.0-27-generic_5.11.0-27.29~20.04.1_am.deb. I am using WSL2 and mounted the original 20.04.3 server iso (which I feed to the script) where the file is present with the full name. When running the script I checked the /tmp/ folder and noticed the file got the wrong name in there, too. So this is caused by a faulty extraction of the image itself.
Tried it in a native ubuntu 20 vm and the same happens there, so it is not wsl2-related. The filename gets shortened and therefore wrongly repacked.

Thank you for your help @skupfer. I have switched to using xorriso and the issue is resolved in my testing.


Update golang.org/x/net from v0.31.0 to v0.33.0

This addresses CVE-2024-45338.
Needed due to the configuration of renovate (https://github.com/signalfx/splunk-otel-go/pull/3552).

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.59%. Comparing base (64741dd) to head (408b408).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3553      +/-   ##
==========================================
+ Coverage   75.30%   75.59%   +0.28%
==========================================
  Files          88       88
  Lines        3503     3503
==========================================
+ Hits         2638     2648      +10
+ Misses        785      777       -8
+ Partials       80       78       -2

Flag
Coverage Δ

Windows
75.31% <ø> (?)

macOS
75.30% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Copying hidden files fails on Windows 10

Node version (or tell us if you're using electron or some other framework):
v6.9.5
ShellJS version (the most recent version/Github branch you see the bug on):
shelljs 0.7.7 via shx 0.2.2
Operating system:
Windows 10 64-bit
Description of the bug:
On Windows trying to copy files in a directory that contain only a single file named .nojekyll results in error:
cp: no such file or directory: Documents/DocumentsRoot/*
Directory structure:
/gh-pages/
/Documents/DocumentsRoot/.nojekyll
command run: shx cp Documents/DocumentsRoot/* gh-pages
The following comment specifies that should be fixed:
https://github.com/shelljs/shelljs/issues/140#issuecomment-149642901
But I still have to do the workaround of including a . before the wildcard like:
shx cp Documents/DocumentsRoot/.* gh-pages
I see the behavior both with and without the -r flag when using shx. Have not tried using shelljs directly.

Hey @rajsite, thank you for reporting this. I will look into this issue in the next day or two.

@rajsite That is not a 'workaround' in this case, it's intended behavior:
$ cp dir/* dest/ # copies all non-hidden files in the directory
$ cp -R dir/ dest/ # copies the directory and all files in it (hidden or otherwise)
$ cp dir/.* dest/ # copies all hidden files in the directory
$ cp dir/* dir/.* dest/ # copies all files in the directory, without the directory itself

This is the POSIX shell behavior, and ShellJS should be compliant. If shelljs or shx behave other than how I've described, let us know.

@nfischer when running cp dir/.* on linux I get the following output
> shx cp Documents/DocumentsRoot/.* gh-pages && shx cp Documents/DocumentsRoot/* gh-pages
cp: omitting directory 'Documents/DocumentsRoot/.'
cp: omitting directory 'Documents/DocumentsRoot/..'

resulting in a non-zero error code.
Should shx cp ignore the . and .. inodes while allowing other hidden files?
What would be the cross-platform way to use shx cp to wildcard copy files starting with . without an error?

Should shx cp ignore the . and .. inodes while allowing other hidden files?
What would be the cross-platform way to use shx cp to wildcard copy files starting with . without an error?

Ah, that's because Bash expands the .* to include . and .. (my mistake). Unfortunately, this is very difficult to get right in Bash (other shells handle things more sensibly). If you need it to work in bash, this usually works:
$ shx cp dir/.??* out/ # this works if you have no 1-2 letter hidden files

> shx cp Documents/DocumentsRoot/.* gh-pages && shx cp Documents/DocumentsRoot/* gh-pages
cp: omitting directory 'Documents/DocumentsRoot/.'
cp: omitting directory 'Documents/DocumentsRoot/..'

This approach fails under at least a couple scenarios. I strongly recommend going with something like:
$ # If you want something like:     gh-pages/.nojekyll
$ shx rm -rf gh-pages/ && shx cp -R Documents/DocumentsRoot/ gh-pages/
$ # or, if you want:                gh-pages/DocumentsRoot/.nojekyll
$ mkdir -p gh-pages/ && shx cp -R Documents/DocumentsRoot/ gh-pages/

If neither of those work for you, there's an shx-only trick you can do:
$ shx cp "dir/*" out/ # don't let bash expand wildcards, rely on shx's internal expansion
$ # this won't expand to '.' and '..'


Docs: replaced usage of old babel 5 with new one in browserify usage doc

fix for issue #754

Awesome, thanks for doing this!

This is great! :tada:

glad I could help! @thejameskyle @hzoo


Create, reformat and share test results for vDNS VNF/CNF comparisons

Tasks:

[ ] Create a spreadsheet to log details
[ ]  TBD

https://docs.google.com/spreadsheets/d/1iuQaQnMnRW7GFuZJziaPc1SLW3Qstc6m8hhzZq9rddU/edit#gid=0


improve setup guides

As discussed in #437:

[ ] create an overview of setups+descriptions if you need to do this specific setup
[ ] reduce duplication
[ ] improve style etc.

of setup guides

doc/setups/README.md is probably a good place to have a general introduction of which steps might be needed for a setup

I think we should only support local+.devcontainer setups. Any ideas on that?


Fix a couple memory corruption issues.

This code has a bad habit of creating temporary CStrings and getting pointers to them without keeping the CStrings that own those buffers alive. I've observed memory corruption due to this.

Coverage increased (+1.4%) to 98.63% when pulling ddb6ee78518514b4224073b95712ed94303bd18a on wfraser:fix-memory-corruption into 61cd4f7068180bc19e457921a3a2d7e8c006083a on knsd:master.

Great, thanks! You are completely right!

Published in new version.

Awesome. Thanks for this great crate!


Jorge's Attempt at completing the Beginning Git video course

Hi,
This PR represents all the work I did to complete the raywenderlich.com Beginning Git video course. It was a delightful experience, and I'd recommend it to anybody.
Jorge.

Hey @jorgelub12—congrats on submitting a PR at the end of the git course. I'm hope that you found the course valuable, and that you were able to follow along easily and learn lots.
If you weren't already using git for your code, hopefully this has inspired you to do so. I hope that you enjoy the "Mastering Git" video course as well—you'll soon be able to get git to bend to your will :)
You can now wear this #GitWarrior badge with pride—and Tweet your historic victory!

sam


Add possibility to create annotations on PRs from forks without checks: write permission

Describe a bug
When using this action on a fork, according to the docs by using the markdown output, this action still fails.
Expected behavior
It should not fail, and hopefully report the coverage
Details

Action version: 2
OS, where your action is running (windows, linux): linux
https://github.com/maplibre/maplibre-gl-js/blob/57ab2c332837a78c038e58c3dfcf075f7dfc6697/.github/workflows/test-unit.yml#L34
Error:
https://github.com/maplibre/maplibre-gl-js/runs/8210019949?check_suite_focus=true

Additional context
This is in continue to this issue which was resolved: #256
I'm guessing that there's a missing "if markdown down't publish results" or something similar...

This is not the report part but the annotations which have a similar problem when it comes to permissions when running on a fork :-(
Is it possible to try-catch it or skip this stage in case of a PR from a fork?
While this is a very good way to visualize coverage it's better to have the coverage report as PR comment only than have nothing :-)

Hello @HarelM :wave:,
Yeah, that's the issue with checks - looks like your GitHub token doesn't have enough permissions to publish checks.
Found this fix: https://github.com/alibaba/lowcode-engine/blob/7a0bab11aca6fa5856af894736222c6d14897467/.github/workflows/cov packages.yml#L13
So, for your case, fix could look like this:
annotations: ${{ github.event.pull_request.head.repo.full_name == github.event.repository.name && 'coverage' || 'none' }}

Looks weird because GitHub Actions doesn't support ternary operators.
I think that should work. Of course, another solution could be to create personal access token with "checks: write" permission and pass it as a github-token parameter, but that's not safe. Don't know how these privileges could be used in a malicious way, but I think GitHub has a good reason for limiting token privileges.

Thanks!!! super useful.
I'll try it out.
If you find a way to publish annotations the same way that it is working for the commit message it would be great.
If not, feel free to close this issue.
Thanks a lot for all the hard work and the great support you give!

Yeah, that's a good idea. I've found an action for publishing annotations from json file: annotations-action.
I will check if it works without "write" permissions. Can't promise that support for annotations output will be implemented soon, but I will post updates on this issue.

Seems like the above code created an issue, not entirely sure why...

Can be seen here (probably not for long)
https://github.com/maplibre/maplibre-gl-js/runs/8220657182?check_suite_focus=true
I'm currently reverting to annotations none, I hope it will allow me to see the coverage report at least...
Let me know if there's anything else I can check...

@HarelM 😢
I just found that there are two different events - pull_request and pull_request_target. pull_request runs on the head branch, and is considered "unsafe" - runs with read-only permissions. pull_request_target runs on the base branch, with write permissions. I will try to update the logic, to support the pull_request_target event.

Bummer... Let me know if you figured out a solution. I'll be happy to test it! :-)

Any update? I have the same issue: https://github.com/TokenScript/token-negotiator/actions/runs/3086784740/jobs/5008480454

Hey @HarelM and @abcfy2 :wave:,
Sorry for the late reply. Now everything should work. The fix is available under the v2.2.0 or v2 tags. Here is documentation on how to properly configure action. You just need to replace the pull_request event with pull_request_target. Hope this helps you!

Thanks for the info, I ended up using codecov... Sorry for all the trouble...


[eclipse] Load diagram dialog is not an eclipse dialog

I'm using version 0.26.0 of Fxdiagram. With #41 the save diagram dialog has been changed to an eclipse dialog. Saving a diagram works fine. However, the load diagram dialog is still a standard file dialog. This dialog should also be changed to an eclipse dialog.

The funny thing about load dialogs in Eclipse is that there is no equivalent (at least none I know of) that restricts to files from the workspace, and as such is based on IFile. Apart from the different looks, is there a particular misbehavior caused by this?

It doesn't cause any misbehavior. However, if you are working with a VCS like git or svn it is quite common that your projects are not physically located within your workspace folder but somewhere else on your disk. By default the dialog opens in your workspace folder and you have to click a lot to find your files.
I'm not aware of any "OpenWorkspaceFileDialog" either. The closest match would be the org.eclipse.ui.dialogs.ResourceListSelectionDialog:
package de.fxdiagram.eclipse.actions

import de.fxdiagram.core.XRoot
import de.fxdiagram.core.model.ModelLoad
import de.fxdiagram.core.tools.actions.LoadAction
import java.io.InputStreamReader
import org.eclipse.core.resources.IFile
import org.eclipse.core.resources.IResource
import org.eclipse.core.resources.ResourcesPlugin
import org.eclipse.core.runtime.NullProgressMonitor
import org.eclipse.jface.window.Window
import org.eclipse.swt.widgets.Display
import org.eclipse.ui.dialogs.ResourceListSelectionDialog

class EclipseLoadAction extends LoadAction {

	override perform(XRoot root) {

		val dlg = new ResourceListSelectionDialog(Display.^default.activeShell, ResourcesPlugin.workspace.root,
			IResource.FILE)

		if (Window.OK == dlg.open() && dlg.result?.length == 1) {
			val file = dlg.result.get(0) as IFile

			file.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor)
			if (file?.exists) {
				val node = new ModelLoad().load(new InputStreamReader(file.contents, file.charset))
				if (node instanceof XRoot) {
					root.replaceDomainObjectProviders(node.domainObjectProviders)
					root.rootDiagram = node.diagram
					root.fileName = file.fullPath.toOSString
				}
			}
		}
	}
}

OK, took me a while to figure out how to set the initial filter, but I've committed a change along the lines of your solution. Thanks.
In the long run, it would be cooler if there was a mechanism to configure / replace actions, e.g. by means of dependency injection.


Migrate quickstarts to dotnet core

Migrates 1 sample to dotnet core. Will migrate others after review of this one.

Added the remaining quickstarts + fixed one issue with the reseller API quickstart missing an import
Quickstart guides don't actually advertise using the provided sln/proj files, mostly just here for people who want to clone from git and run as well as eventual CI integration (currently just builds 1 quickstart).
PTAL.


grapheme is not searchable

“NFG” also.
Possibly related: #724

Adding doc tag, as there doesn't seem to be a specific paragraph/section for this yet. (a few mentions of grapheme scattered through the docs)

i think this would be the right page for it: https://docs.perl6.org/language/unicode
Note that we probably want to link all “grapheme” mentions once there is a proper description.


Provide support for lean openwhisk setup

Adds docker-compose support for Lean openwhisk setup that been merged in: https://github.com/apache/incubator-openwhisk/pull/4216

Can someone check Travis
Lean would be awesome to have


feat: interview reviews base 🧱

Description ✏
This PR implements the first part of the interview reviews feature.
It adds

interview_reviews table to the database
Fetch and list all interview reviews for a given company
Implementation of navigation between Employees, Company Reviews, and Interview Reviews on Companies page
Put front-end changes in _profile.companies_.$id.tsx behind a new feature flag named interview-reviews

Type of Change 🐞

[X] Feature - A non-breaking change which adds functionality.
[ ] Fix - A non-breaking change which fixes an issue.
[ ] Refactor - A change that neither fixes a bug nor adds a feature.
[ ] Documentation - A change only to in-code or markdown documentation.
[ ] Tests - A change that adds missing unit/integration tests.
[ ] Chore - A change that is likely none of the above.

Checklist ✅

[x] I have done a self-review of my code.
[x] I have manually tested my code (if applicable).
[ ] I have added/updated any relevant documentation (if applicable).

I decided to break up the feature into multiple PRs-it was getting too messy and this makes more sense. I'm curious if I should create stacked PRs and then not merge any until all the PRs are approved, or if I should just put the interview reviews feature behind a feature flag, so that way we can merge them in one at a time but it won't appear to members until the entire feature is complete.

One minor issue I was facing is that the navigation tabs here always show up green. This is different from the recaps page, for example, where the tab is only green if it is selected. Having trouble figuring out the issue here.

Going to close for now, and we'll revisit this in the future!


Example for working with categoricals and parquet

This adds information about storing categoricals as parquet to the documentation of dataframe categoricals. The change basically adds information from #2944 to the docs.

Thanks for adding these docs @McToel! @rjzamora can you see if there is anything that you think should be added?

Thanks for adding these docs @McToel! @rjzamora can you see if there is anything that you think should be added?

I actually don't really like to access columns as an attribute too but that is the style used in the current docs.

I actually don't really like to access columns as an attribute too but that is the style used in the current docs.


has_many_association: Deal with empty 204 status code

If you register a relationship as a has_many and you this resource
endpoint return a 204 we should handle this gracefully, by returning a
empty array. This patch leverages the default return type defined on the
relationship (@opts[:default]) to construct which sort of response it
would expect (get_collection or a regular get).
The default parser, is dumb and therefore cannot distinguish if when it
receives a 204 it should transform that into a hash or an array, and
always convert the response into a empty hash. So, on the
attributes.rb method called instantiate_collection when we stumble
upon a empty hash we always convert into an empty array.

Hello, just a quick ping on this PR for review @remi @zacharywelch :)


[feature]: response's accuracy

In this milestone, we will continue focus on the response accuracy. And how to evaluate it.
Related:

Question and answer pipeline with response score.

As we discussed, we use human check first.


optional chain error (@swc/core>=1.3.63)

optional chain compiled error when I use the plugin
source
let a = {};
a.b = 1;
let b = a?.b;

after compiled
var _this;
var a = {};
a.b = 1;
var b = (_this = this) === null || _this === void 0 ? void 0 : _this.; // here

depdencies
"@swc/cli": "^0.1.62",
"@swc/core": "^1.3.66",
"@swc/helpers": "^0.5.1",
"browserslist": "^4.21.3",
"core-js": "^3.31.0",
"swc-plugin-vue-jsx": "^0.2.4"

.swcrc
{
  "env": {
    "targets": {
      "chrome": "49"
    },
    "mode": "usage",
    "coreJs": "3.31",
  },
  "jsc": {
    "parser": {
      "syntax": "ecmascript",
      "jsx": true
    },
    "externalHelpers": true,
    "experimental": {
      "plugins": [  // remove the plugin will be normal
        [
          "swc-plugin-vue-jsx",
          {}
        ]
      ]
    }
  },
}

expected behavior
var a = {};
a.b = 1;
var b = a === null || a === void 0 ? void 0 : a.b; //<EMAIL_ADDRESS>result

I can reproduce this, but I think this is a SWC bug. You can open an issue to SWC.

ok

swc issue

This has been resolved latest SWC version. I will upgrade SWC at plugin-side then release a new version, also don't forget to upgrade SWC in your project.


[Fix #289] count asserts within blocks for assignments

Follow up to #290 / #289 - I realised when re-reviewing my change that assertion_method? only checks the immediate expression of assignments, which makes sense for what it's meant to be doing - so we need to still handle checking the bodies of blocks for assignments.
I've not added a changelog for this since the original PR has not been released so I figured it would still be considered a single "fix", but let me know if you'd still like a second changelog entry anyway.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Allow air gap installation for the Epinio Helm Chart (the "small" one)

Rancher can be installed in an air gap environment, that means our Epinio Helm Chart must be compatible with that feature.
https://rancher.com/docs/rancher/v2.6/en/installation/other-installation-methods/air-gap/
Air gap means installation without or with limited network connectivity.
Rancher has a “convention” to control the image registry, e.g.  allow for air gap installs (I think it is this https://github.com/rancher/charts/blob/dev-v2.6/charts/longhorn/longhorn/1.1.100/templates/deployment-driver.yaml#L23) which we should support

We should make the container registry parameterized in the "small" epinio helm chart so that people can use a locally deployed registry if they want to.


Select Asset from Send/Request flow cannot handle large text or long token names

Current behavior
When using the select asset bottom sheet from the send or request flow, long token names and/or large font break the layout of the bottom sheet.
Desired behavior
Layout should be handled with two columns with ellipses being uses to truncate longer text.
Steps to Reproduce
Prerequisites: Have multiple assets in Valora.

Begin the send flow and select a contact or address.
On the Send amount screen tap on token selection to bring up the Select Asset bottom sheet.
Observe layout.

Versions
All versions since at least 1.22.0.

Hey @MuckT We have verified the above issue on Latest Android Internal Release build and Latest iOS TestFlight Release build V:1.29.2 and we are able to reproduce the issue as per the mentioned step above.
Attachment : overlapp.mp4
Device : iPhone 12(14.7.1) , Google Pixel 2XL(11.0)


Dependency packaging for layers

This is probably more of a feature request than a bug, but I noticed that currently this plugin only supports bundling dependencies for Lambda functions. It would be great if it also did this for Lambda layers.
To make it concrete, if serverless.yml contains a definition of a layer:
(...)

layers:
  my-layer:
    path: my-layer

and there is a requirements file in my-layer/requirements.txt, the dependencies would get installed as part of the packaging of the layer.
There seems to be a package:compileLayers hook that could be useful here.
Thank you for considering this!

I also expected this. I don't currently see any way to use this plugin to install dependencies for multiple layers - please correct me if I'm wrong.

Hey 👋 I'm closing this ticket as it looks like it's heavily outdated, we can of course reopen it if needed 👍


pagespeed RedisServer as a Variable?

When you using Redis as the caching backend the documentation states to set the Redis host as
pagespeed RedisServer "host:port";

My Redis host and port is passed as a environment variable.  So I set it like this;
set $redis_connect "<IP_ADDRESS>:6379"

I have turned Script variables on however I have  tried the following and it cant connect;
pagespeed RedisServer "$redis_connect";
pagespeed RedisServer $redis_connect;

Is this possible?

I think that won't work, even if you have turned on ngx_pagespeed's script variable processing. The reason is that the script variable processing will only be applied to options that can be changed on the fly at request processing time, and RedisServer is not included in those (instead it is only interpreted at server startup time, while processing the root{} and server{} configuration blocks).

If anyone else comes across this, I managed to simply sed the file with the environment variable


Support for Julia-style @generated decorator

We should integrate this functionality from @jcrist:
https://gist.github.com/jcrist/fddcbb12f3c74748aea5
(similar functionality suggested by @albop and others)
This adds a decorator for creating a CPUDispatcher that, rather than JITing the decorated function when a new type signature is encountered, instead calls the decorated function with the Numba types of the arguments which returns a function to JIT.  Many forms of dynamic code generation require something like this.

There is also some discussion as to what the name of the decorator should be:

@generated: Since this feature is basically the same as Julia, we should use their name for it.
@generate_jit: There is some concern that @generated looks too much like @generator and might be confused with the concept of Python generators.

Another thing that crosses my mind: Would we ever want to return function implementations to be compiled with @vectorize or @guvectorize, rather than @jit?  (i.e., would we ever want @generate_vectorize?)  This would first require us to unify ufuncs, gufuncs, and JIT functions to all use the same dispatch mechanism.

Well, that would be a possibility.

This would first require us to unify ufuncs, gufuncs, and JIT functions to all use the same dispatch mechanism.

That's part of our roadmap :-)

There is some concern that @generated looks too much like @generator and might be confused with the concept of Python generators

Not only, but it's also a rather vague term. There are tons of things that can be generated :-)

Does someone have a nice use case to test with?

This may be broadening the scope a bit, but many of the situations I can think of would also allow the user of @generated_jit to specify which arguments should be captured by value when generating the implementation.
For example, implementing np.sum() with an axis argument I think requires some code generation that depends on the values.  The interpolator example that prompted the most recent discussion of this has arguments that select particular kinds of interpolation details.
However, I don't think we could get that in this first pass, since it would require our dispatcher to be value-aware, which isn't going to be easy.

Here's actual reason I wrote it:
from generated import generated
import numpy as np
import numba as nb
from dynd import nd

@generated(nopython=True, nogil=True)
def is_missing(x):
    """Returns if the value is missing, per dynd's missing value flag
    semantics"""
    if isinstance(x, nb.types.Array):
        x = x.dtype
    if isinstance(x, nb.types.Integer):
        missing = np.iinfo(x.name).min
        return lambda x: x == missing
    elif isinstance(x, nb.types.Float):
        return lambda x: np.isnan(x)
    else:
        return lambda x: False

# Create a dynd array with missing values
x = nd.array([1, None, 2], '3 * ?int32')

# View the internal buffer as a numpy array, which is compatible with numba
buffer = nd.as_numpy(x.view_scalars(x.dtype.value_type))

# Find missing values
out = is_missing(buffer)
# array([False,  True, False], dtype=bool)

^^^ That is a nice test case.

Oh, yes, thanks.

Your implementation is a bit buggy, though: the last line (return lambda x: False) will always return a scalar even if an array is passed.

Oop, you're right. That was a quick last addition for completeness :). Fixed below:
@generated(nopython=True, nogil=True)
def is_missing(x):
    """Returns if the value is missing, per dynd's missing value flag
    semantics"""
    if isinstance(x, nb.types.Array):
        dt = x.dtype
    else:
        dt = x
    if isinstance(dt, nb.types.Integer):
        missing = np.iinfo(dt.name).min
        return lambda x: x == missing
    elif isinstance(dt, nb.types.Float):
        return lambda x: np.isnan(x)
    elif isinstance(x, nb.types.Array):
        return lambda x: np.full_like(x, False)
    else:
        return lambda x: False

(note it would also be a nice usecase for a generated_vectorize :-))

I wonder if it would be cleaner to make generated return an object that the other decorators know about. Then you wouldn't need a generated_* for each numba decorator, you'd just stack them:
@vectorize(...)
@generated
def foo(x, y):
    ...

Implementation wise, it would be more annoying to do so - you have to ensure that the stacking order of decorators is unimportant.

Besides, it's not really a flip you switch (like "nopython"), it really changes how you write your function.

Since @pitrou was asking for an example, I tried to write a simple one showing how to write a single function for fractional indexing 1d and 2d: https://gist.github.com/albop/d13a58cb2aed98700443. For any array mat the goal is to have findex(mat,i,j) return mat[i,j] when i,j are both integers, and interpolate (linearly) between grid points when they are real numbers.
It doesn't work completely but it highlights a few potential issues:

in principle, the dispatch mechanism would allow to define findex(mat,i) (resp. findex(mat,i,j) ) as calls to findex_1d_(mat,i) (resp.  findex_2d(mat,i,j) ). For some reason, it didn't work, so I ended up dispatching findex(mat,v) instead where v is a vector. (Lines 140-147 have the original version)
When vector v contains integers, one would like to use native indexing. For this I wrote one function of each dimension (native_index_1d and native_index_2d). This two routines do the the same thing for two different vector sizes, but the same dimension. This brings the question of whether a particular routine can be optimized based on the length of a vector rather than it's dimension. If I am not mistaken, this would be considered as a value by the current type system. (here it doesn' t matter much because the dispatch is made by the function calling native_index_1d but it prevents from writing a unified native_index function). This is probably an orthogonal issue.
This example is potentially another good example for a guvectorized generated function, since guvectorize works very well with each dimension specific implementation. The main problem, is that the core dimensions are not the same, so that one may want to return them with the generated function (see lines >=152)

This is now fixed.


make RecvByteBufAllocator.continueReading easier to understand

Motivation:
make RecvByteBufAllocator.continueReading logic easier to understand
Modification:
determine whether to continue read don't need to know totalBytesRead>0, but need to know lastBytesRead>0 in the maybe more data logic.
Result:
easier understand
Fixes #.
If there is no issue then describe the changes introduced by this PR.

I dont think this is any better... lets close it


Library update smart restriction causing Error

Steps to reproduce
Go to Library
Tap Library Update Smart Restrictions
Unexpected Error Code
Expected behavior
Remove the smart update
Actual behavior
Error happened instead
Crash logs
neko_crash_logs.txt
Neko version
2.16
Android version
Android 14
Device
Poco F5
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to the newest version Latest.
[X] I have filled out all of the requested information in this form.

https://github.com/nekomangaorg/Neko/issues/1691