Loading BlackRockSpire for 1.12 trips assertion

Loading BlackRockSpire for vanilla trips the following assertion:
.//vendor/pathfind/Tile.cpp:58: pathfind::Tile::Tile(pathfind::Map*, utility::BinaryStream&, const std::filesystem::__cxx11::path&, bool): Assertion 'quadHeight == 0 || quadHeight == 1' failed.
SHA256sum of generated files:
7b48817c573db9d9bfc697728b0e059e6c1ba86d855d51fbaf18d0001a391cda  BlackRockSpire.map
367bb1b45dc73a067fb4290d0d95961f6cab8181b059446316804c3ec06b2571  BlackRockSpire/Map.nav

quadHeight = 120 for all maps.
Let me know if you need backtraces or any further info.
Backtrace from Rust (ignore anything below pathfind_new_map:
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352607872) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352607872)
    at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737352607872) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737352607872, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff78287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff782871b in __assert_fail_base (
    fmt=0x7ffff79dd150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=0x55555565a7c0 "quadHeight == 0 || quadHeight == 1",
    file=0x55555565a6b0 "./pathfind/Tile.cpp",
    line=58, function=<optimized out>) at ./assert/assert.c:92
#6  0x00007ffff7839e96 in __GI___assert_fail (
    assertion=0x55555565a7c0 "quadHeight == 0 || quadHeight == 1",
    file=0x55555565a6b0 "./pathfind/Tile.cpp",
    line=58,
    function=0x55555565a750 "pathfind::Tile::Tile(pathfind::Map*, utility::BinaryStream&, const std::filesystem::__cxx11::path&, bool)") at ./assert/assert.c:101
#7  0x00005555555d84bf in pathfind::Tile::Tile (this=this@entry=0x5555558ef690,
    map=map@entry=0x55555569ed50, in=...,
    navPath=filesystem::path "/tmp/outputtest/Nav/BlackRockSpire/Map.nav" = {...},
    load_heightfield=load_heightfield@entry=false)
    at ./pathfind/Tile.cpp:58
#8  0x00005555555d53cb in std::make_unique<pathfind::Tile, pathfind::Map*, utility::BinaryStream&, std::filesystem::__cxx11::path const&> () at /usr/include/c++/11/bits/unique_ptr.h:961
#9  pathfind::Map::Map (this=this@entry=0x55555569ed50,
    dataPath=filesystem::path "/tmp/outputtest" = {...}, mapName="BlackRockSpire")
    at ./pathfind/Map.cpp:265
#10 0x000055555556dae4 in pathfind_new_map (data_path=<optimized out>, map_name=<optimized out>,
    result=0x7fffffffdddf "")
    at ./pathfind/pathfind_c_bindings.cpp:13
#11 0x000055555556d2e0 in namigator::pathfind::{impl#0}::new::inner (data_path=..., map_name=...)
    at src/pathfind.rs:39
#12 0x000055555556d058 in namigator::pathfind::PathfindMap::new<&std::path::Path> (data_path=...,
    map_name=...) at src/pathfind.rs:61
#13 namigator::vanilla::{impl#0}::new::inner (data_path=..., map_name=...) at src/util.rs:35
#14 namigator::vanilla::VanillaMap::new<&std::path::Path> (data_path=..., map=<optimized out>)
    at src/util.rs:39
#15 namigator::vanilla::{impl#0}::build_gameobjects_and_map::inner (data_path=..., output_path=...,
    map=<optimized out>, threads=<optimized out>) at src/util.rs:86
#16 0x000055555556bd53 in namigator::vanilla::VanillaMap::build_gameobjects_and_map<&str, &str> (
    data_path=..., output_path=..., threads=26, map=<optimized out>)
    at /home/daniel/gitas/namigator-rs/namigator/src/util.rs:89
#17 namigatortest::main () at src/main.rs:11

This also happens for BlackrockDepths.

Same error for DeeprunTram:
quadHeight = 120 still.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352607872) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352607872)
    at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737352607872) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737352607872, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff78287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff782871b in __assert_fail_base (
    fmt=0x7ffff79dd150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=0x55555565a7c0 "quadHeight == 0 || quadHeight == 1",
    file=0x55555565a6b0 "./pathfind/Tile.cpp",
    line=60, function=<optimized out>) at ./assert/assert.c:92
#6  0x00007ffff7839e96 in __GI___assert_fail (
    assertion=0x55555565a7c0 "quadHeight == 0 || quadHeight == 1",
    file=0x55555565a6b0 "./pathfind/Tile.cpp",
    line=60,
    function=0x55555565a750 "pathfind::Tile::Tile(pathfind::Map*, utility::BinaryStream&, const std::filesystem::__cxx11::path&, bool)") at ./assert/assert.c:101
#7  0x00005555555d8541 in pathfind::Tile::Tile (this=this@entry=0x555555778ed0,
    map=map@entry=0x55555569ed30, in=...,
    navPath=filesystem::path "./Nav/DeeprunTram/Map.nav" = {...},
    load_heightfield=load_heightfield@entry=false)
    at ./pathfind/Tile.cpp:60
#8  0x00005555555d53cb in std::make_unique<pathfind::Tile, pathfind::Map*, utility::BinaryStream&, std::filesystem::__cxx11::path const&> () at /usr/include/c++/11/bits/unique_ptr.h:961
#9  pathfind::Map::Map (this=this@entry=0x55555569ed30,
    dataPath=filesystem::path "." = {...}, mapName="DeeprunTram")
    at ./pathfind/Map.cpp:265
#10 0x000055555556dae4 in pathfind_new_map (data_path=<optimized out>, map_name=<optimized out>,
    result=0x7fffffffdddf "")
    at ./pathfind/pathfind_c_bindings.cpp:13
#11 0x000055555556d2e0 in namigator::pathfind::{impl#0}::new::inner (data_path=..., map_name=...)
    at src/pathfind.rs:39
#12 0x000055555556d058 in namigator::pathfind::PathfindMap::new<&std::path::Path> (data_path=...,
    map_name=...) at src/pathfind.rs:61
#13 namigator::vanilla::{impl#0}::new::inner (data_path=..., map_name=...) at src/util.rs:35
#14 namigator::vanilla::VanillaMap::new<&std::path::Path> (data_path=..., map=<optimized out>)
    at src/util.rs:39
#15 namigator::vanilla::{impl#0}::build_gameobjects_and_map::inner (data_path=..., output_path=...,
    map=<optimized out>, threads=<optimized out>) at src/util.rs:86
#16 0x000055555556bd53 in namigator::vanilla::VanillaMap::build_gameobjects_and_map<&str, &str> (
    data_path=..., output_path=..., threads=26, map=<optimized out>)
    at /home/daniel/gitas/namigator-rs/namigator/src/util.rs:89
#17 namigatortest::main () at src/main.rs:11

Loading BlackrockSpire did produce an assertion, but a different one for me.  https://github.com/namreeb/namigator/commit/7142566932b457d3a70f6ee39c9b3812e30b699f fixed that.  Can you check if your assert still happens?  I'm not able to reproduce it.

With the 7142566 change the following maps trip the assert with quadHeight == 120:
'Testing' (test)
'CashTest' (Test)
'Stormwind Stockade' (StormwindJail)
'Stormwind Prison' (StormwindPrison)
'Collin's Test' (Collin)
'Wailing Caverns' (WailingCaverns)
'<Unused> Monastery' (Monastery)
'Razorfen Kraul' (RazorfenKraulInstance)
'Blackfathom Deeps' (Blackfathom)
'Uldaman' (Uldaman)
'Gnomeregan' (GnomeragonInstance)
'Blackrock Spire' (BlackRockSpire)
'Blackrock Depths' (BlackrockDepths)
'Onyxia's Lair' (OnyxiaLairInstance)
'Maraudon' (Mauradon)
'Deeprun Tram' (DeeprunTram)
'Ragefire Chasm' (OrgrimmarInstance)
'Molten Core' (MoltenCore)
'Dire Maul' (DireMaul)
'Alliance PVP Barracks' (AlliancePVPBarracks)
'Horde PVP Barracks' (HordePVPBarracks)

While the following maps work:
'Eastern Kingdoms' (Azeroth)
'Kalimdor' (Kalimdor)
'Scott Test' (ScottTest)
'Alterac Valley' (PVPZone01)
'Shadowfang Keep' (Shadowfang)
'Deadmines' (DeadminesInstance)
'Azshara Crater' (PVPZone02)
'Sunken Temple' (SunkenTemple)
'Razorfen Downs' (RazorfenDowns)
'Emerald Dream' (EmeraldDream)
'Scarlet Monastery' (MonasteryInstances)
'Zul'Farrak' (TanarisInstance)
'Opening of the Dark Portal' (CavernsOfTime)
'Scholomance' (SchoolofNecromancy)
'Zul'Gurub' (Zul'gurub)
'Stratholme' (Stratholme)
'Development Land' (development)
'Blackwing Lair' (BlackwingLair)
'Warsong Gulch' (PVPZone03)
'Ruins of Ahn'Qiraj' (AhnQiraj)
'Arathi Basin' (PVPZone04)
'Ahn'Qiraj Temple' (AhnQirajTemple)
'Naxxramas' (Stratholme Raid)

On the previous 8d67ec6 the result is identical, except the RazorfenKraulInstance map also seems to work.
With SHA256sums:
0bb2d6d370d825353eff5d9282c545a1b61980baaa5b7b65b1a7521e0ee8e27a  backup.MPQ
f648e4fae190abcb25749ddbe96454e7e0de7e9c7e955983ed9d0e73b6986009  base.MPQ
d9d5a290bdad848e177e2731c7ef221a1d7a6793e2c94e431488dd40816101e2  dbc.MPQ
511189160f091eeb9d7ee8c473c1422b7f1fadbd9b65bfbf7d0a2a344103312d  fonts.MPQ
6545dfbb3ef21a8b7f36b577419494cc292fec35585f9a1511d6c8b692b83191  interface.MPQ
13aee674db39fc605c8aabf964eda0bb7895c6f026fed6c508bf2f9d155db0f9  misc.MPQ
a7aa78c234bbdd450e00434e5939aa1a02383df1971cddcbfa181d68e9ab45a2  model.MPQ
84f506c9f049f1e35f6d0f7b2e6643d28856888680ae2593436be8b9a058aad6  patch-2.MPQ
a9ad25c9a32600dd3c71f97a0f95f9b9b629a9995988b928975c8871f1197683  patch.MPQ
6ba131da952aae8d1e061b54468fd6e5d2ef78616540e2746ed21255d6b959a7  sound.MPQ
a1564120452cd75c4c7b2002a668b12250a35dab658816a33b591ebb23004f52  speech.MPQ
68fda6fb4f57051a47a0a56ff1757d73ee5c2a870774ba60ee8b52d7b36bc61d  terrain.MPQ
7e5996d2a0a2de03c79dcf9ab78f3fce66264688eee56ca6dbc51c8ce4433dac  texture.MPQ
9933d9ca23d481647880c9798dc7c225cd926f51026d148f09cd5251fc56edb7  wmo.MPQ

I tried BlackrockSpire and was not able to reproduce it (yes, assertions were enabled).
Thread # 75952 ERROR: rcBuildRegions: 1 overlapping regions.
Thread # 36220 ERROR: rcBuildRegions: 2 overlapping regions.
Thread # 36220 ERROR: rcBuildContours: Multiple outlines for region 13.
Thread #112936 ERROR: rcBuildRegions: 1 overlapping regions.
Thread #112936 WARNING: rcBuildPolyMesh: Bad triangulation Contour 6.
Thread # 17528 ERROR: rcBuildRegions: 1 overlapping regions.
Thread # 17528 ERROR: rcBuildContours: Multiple outlines for region 11.
Thread #110256 ERROR: rcBuildRegions: 1 overlapping regions.
Thread #112936 finished.
Thread #17528 finished.
Thread #101372 finished.
Thread #36220 finished.
Thread #84356 finished.
Thread #75952 finished.
Thread #54668 finished.
Thread #29064 finished.
Thread #110256 finished.
Thread #92216 finished.
Thread #50608 finished.
Thread #52284 finished.
Thread #84636 finished.
% Complete: 99.6241
Thread #108376 finished.
Thread #97148 finished.
% Complete: 100
Finished BlackrockSpire.
Thread #101140 finished.
Finished BlackrockSpire (798 tiles) in 42 seconds.

I'm preparing for an initial release of my downstream library, do you know if this is going to be fixed within the near future?

Sorry for the delay.  But can you try this again after https://github.com/namreeb/namigator/commit/f03d9f172f448cc86fe0051f630d76dd86b6718f?

This fixed all 1.12 maps for me. Thanks! :)


Enum value of TRUE breaks schema

My schema has enums with the value "TRUE" in them, remove the "TRUE"s and everything works fine.
Works
enum VideoDimensionSearchEnumParam {
  _2d
  _3d
  any
}

Breaks everything
enum VideoDimensionSearchEnumParam {
  _2d
  _3d
  any
  TRUE
}

enum VideoDimensionSearchEnumParam {
#Restrict search results to exclude 3D videos.
_2d
#Restrict search results to only include 3D videos.
_3d
#Include both 3D and non-3D videos in returned results. This is the default value.
any
}

I'm running into this as well. FALSE also breaks the schema, unsurprisingly.

I'm guessing this is a result of https://github.com/jimkyndemeyer/js-graphql-intellij-plugin/blob/master/src/grammars/GraphQLParser.bnf#L103
The lowercase values are specified there (as per the GraphQL spec https://graphql.github.io/graphql-spec/June2018/#sec-Enum-Value, true, false, and null are invalid enum values).
However, according to https://tools.ietf.org/html/rfc7405, string literals are matched case insensitively.

Fixed in the upcoming 2.1.1 release.


Send bulk mail get error 401 Unauthorized

I'm using @sendgrid/mail module on Google Cloud Functions.
My mails are formatted like this:
{
    to: user.email,
    from: user.fromail,
    cc: user.tl_email,
    subject: 'Test',
    html: setTemplate(),
    attachments: [{
     filename: 'test.png',
     content: test,
     content_id: 'test',
     disposition: 'inline'
   },
   ...]
  };

I have an array of mails with different "to" and different html emails.
When I use sgMail.send(emailsArray) and user.email is just me, then the mails will be sent so the api key is working.
When I use sgMail.send(emailsArray) and user.email are different between them, I get this error:
{ Error: Unauthorized
    at Request.http [as _callback] (node_modules/@sendgrid/client/src/classes/client.js:124:25)
    at Request.self.callback (node_modules/request/request.js:185:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (node_modules/request/request.js:1161:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (node_modules/request/request.js:1083:12)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:111:20)
  code: 401,
  message: 'Unauthorized',
  response:
   { headers:
      { server: 'nginx',
        date: 'Fri, 16 Aug 2019 08:00:04 GMT',
        'content-type': 'application/json',
        'content-length': '74',
        connection: 'close',
        'access-control-allow-origin': 'https://sendgrid.api-docs.io',
        'access-control-allow-methods': 'POST',
        'access-control-allow-headers': 'Authorization, Content-Type, On-behalf-of, x-sg-elas-acl',
        'access-control-max-age': '600',
        'x-no-cors-reason': 'https://sendgrid.com/docs/Classroom/Basics/API/cors.html' },
     body: undefined } }

Any help?
Technical details:
"@sendgrid/mail": "^6.4.0",
Node.js Version: "^8.0.0"

Hi,
I have a very similiar issues with the SDK here (Using NodeJS SDK 6.4.0), and customer support sent me here as they think it's an issue from the SDK itself. I often send emails at the same time, from the same server, but got different answer from the API calls.
Exemple :

email sent to<EMAIL_ADDRESS>with API key YYY ==> email accepted
email sent to<EMAIL_ADDRESS>with API key YYY ==>  rejected with error 401, with the same error message than above
email sent to<EMAIL_ADDRESS>with API key YYY ==> email accepted

Here are some figures about one day, when we tried to send multiple email using the SDK to call SendGrid :

we tried to send 70 emails (with the same API key)
each of this email had 1 email address in "to" field and 2 emails adresses in "bcc" field
These API calls were made from 18 differents servers (in fact 18 different Heroku dynos, some of them might be on the same serveur)
52 calls  were accepted by the API, and  18 were rejected with "401 Unauthorized Error"
In those 18 rejected with 401 error, 7 were rejected with the Error body being "undefined", and 11 were rejected with Error body being "[ { message: 'Could not authenticate', field: null, help: null } ] }"
Everything was executed between 06:00:00 AM and 06:00:02 AM
The source code using the uses the SDK method sgMail.setApiKey(SENDGRID_API_KEY) to set up the key (which is well set up for each of the calls, I saw that reading the field sgMail.client.apiKey) and we use the SDK method sgMail.sendMultiple(email) to send the emails.

Can there be concurrency issues with the SDK when trying multiple calls with the same API Key ?
Here is the code used :
const sgMail = require('@sendgrid/mail');

const SENDGRID_API_KEY = process.env.SENDGRID_API_KEY;
const SENDGRID_MY_TEMPLATE_ID = process.env.SENDGRID_MY_TEMPLATE_ID;

sgMail.setApiKey(SENDGRID_API_KEY);

class Mail {
  static async sendReport(recipientEmails, data) {
    const email = {
      to: recipientEmails,
      bcc<EMAIL_ADDRESS><EMAIL_ADDRESS>      from: {
        email<EMAIL_ADDRESS>        name: 'MyCompany',
      },
      replyTo<EMAIL_ADDRESS>      template_id: SENDGRID_MY_TEMPLATE_ID,
      asm: {
        group_id: 1234,
      },
      dynamic_template_data: data,
    };

    try {
      await sgMail.sendMultiple(email);
    } catch (e) {
      console.log('ERROR Sending Report', e);
      console.log('ERROR Sending Report', e.toString());
      console.log('ERROR Sending Report', e.response.body);
      throw e;
    }
  }
}

I confirm that it's the same for me. Some request are accepted, but others get 401 unauthorized.
But it's really impossible to understand the reason of the 401, because it's seems random and it not depends on the code for me.

@yoagauthier Did you manage to fix the issue?
I don't think the developer team will help us.

@francesco-clementi-bip No, and we'll probably switch mail provider very soon, this repo seems quite dead and support is not very helpful understanding the issue.
I'm not sure anymore the issue comes from the SDK though : I've tried to code directly against the REST API, and I still have API calls to /mail/send that are rejected with 401 (around 10%), while most of them with the same config (around 90%) and same API key are accepted. For my case, I suspect it's because these calls are done simultaneously from different servers and the auth server probably cannot handle it.
My code :
const axios = require('axios');
const {
  SENDGRID_MY_TEMPLATE_ID,
  SENDGRID_API_KEY,
} = process.env;

class SendGridClient {
  constructor() {
    this.axiosInstance = axios.create({
      baseURL: 'https://api.sendgrid.com/v3',
      headers: {
        Authorization: `Bearer ${SENDGRID_API_KEY}`,
      },
    });
  }

  async sendMail(toEmail, data) {
    const email = {
      personalizations: [
        {
          to: [
            {
              email: toEmail,
            },
          ],
          dynamic_template_data: data,
        },
      ],
      from: {
        email<EMAIL_ADDRESS>        name: 'MyCompany',
      },
      reply_to: {
        email<EMAIL_ADDRESS>        name: 'MyCompany',
      },
      template_id: SENDGRID_MY_TEMPLATE_ID,
      asm: {
        group_id: 1234,
      },
    };

    try {
        await this.axiosInstance.post('/mail/send', email);
    } catch (e) {
      console.log('ERROR Sending Report', e);
      console.log('ERROR Sending Report', e.response.data);
      throw e;
    }
  }
}

module.exports = SendGridClient;

Thanks @yoagauthier ,
I tried to use directly the api and get the same result as you.
We are going to change provider next week, because sendgrid is not ready for a production use.
Have a nice day

We're also having this issue randomly (maybe twice a month or so): 401 Unauthorized for no reason.

Same problem. I used Sendgrid for couple of years. And recently started getting 401 error. Customer service is useless.

Same here, just started getting these errors randomly while in dev-mode (low volume testing). Nothing changed just randomly started getting these errors.

I got same problem, and I removed sendgrid.env and declare SENDGRID_API_KEY as variable
const sgMail = require('@sendgrid/mail');
const SENDGRID_API_KEY='{api_key};
sgMail.setApiKey(SENDGRID_API_KEY);

If you're seeing similar behaviour when accessing the API directly, then this library won't be able resolve the issue for you.
That said, it's possible the API key is not being loaded properly based on your environment. Sticking the API key in a .env file and sourcing that is just one way of getting it loaded, but there are other ways and it just depends on your environment how best to configure env vars.
What we can do in this library is update the underlying client to throw an exception if you're setting the API key to an empty string which would indicate an issue with your environment and fail-fast to help debug the issue.
I'll leave this issue open for anyone wanting to implement that last piece.

Also, I've confirmed that API keys always start with the prefix SG. so that can also be used to further sanity-check the passed in API key when calling setApiKey().

+1 have the same issue when sending several emails to different receivers in a short time period.
Using heroku and pass key via env variable, not sure why the env variable should be not available if its working most of the time and having no other issues with env variables.

@childish-sambino is there a sure-fire way to avoid this issue? Perhaps there is a max number of emails that can be sent in the same MailData object? Thanks!

@dockleryxk If you're seeing seemingly random Unauthorized  401s and your API key is being loaded properly, I don't know what the root cause is and it's probably not something that should be handled in this lib. SendGrid Support has the tools to help debug these kinds of issues.

Changing my previous comment about leaving this open to track handling empty/undefined/null/blank API keys. Let's use https://github.com/sendgrid/sendgrid-nodejs/issues/1068 to track that work.

@childish-sambino I cannot agree with your conclusion to close this issue. you asuming something, but do you have proof? more likely its an issue with this library.

@crascher To help debug the issue you're seeing, have you verified (say, through logging) that you're sending the correct API key when you're seeing the 401s? Does retying the same request result in the same error? Do you see the same issue when calling the API directly?

@childish-sambino thanks for your response. To provide some more context, my API key is hardcoded (it doesn't matter in my case).
I'll get this error on the same sendMail call. Specifically, the email will successfully send to some of the recipients, but one or more will not send and get this error instead. It's always fine in the to field (I only ever have one email here), but the cc field with multiple emails is where the issue arises for me.
I have tried to recreate the error but it never happens. It's only in a prod environment where I can't simply resend them because it would result in some annoyed customers.

@childish-sambino I added inside the callback method of sendMail logic to execute another sendMail if an error is occured. The mail is sent to me and that is working.
I have no cc field field. Maybe the returned code 401 is wrong or this library is loosing the token or something with the api triggers the problem.
Are you planing to open this ticket again? For me its not solved yet.

More context: We've been using this package for almost two years. February 25 was the first time this ever happened for us. Then March 15 and March 17 and now twice today. This issue isn't resolved and seems to be getting worse.

@dockleryxk @crascher Sounds like the same issue: seemingly random 401s even though nothing else in your environment has changed. I highly doubt it's an issue with this library itself having reviewed the code and not spotted much complexity with regards to API keys.
My recommendation to open a support ticket still stands (support doesn't monitor issues here, engineers do). If you can provide them with details about when the request failed and any other details will help to track it down. If that doesn't help or you don't hear back in a timely manner, let me know. We're working to be more responsive in these forums.
Lastly, the library will soon be migrating the underlying HTTP client (https://github.com/sendgrid/sendgrid-nodejs/issues/1042) which we'll do a major version roll for. It's possible there was a bug in the current client so may be worth waiting for the changes to roll out to see if it resolves the issue.

@childish-sambino I'll open a ticket then, thank you! If I end up resolving it with them I will post back here about it

fwiw adding my comment here in case someone might hit it on different key words
We're running several dynamic template tests using jest. We started running into the same random 401 issue this afternoon, after running the same suite of tests all morning without issue. I reduced the test group to 10 tests, and we're running them in jest sequentially (so there's not multiple send requests being made at the same time). Of those 10 tests, no number of tests and no single test will fail on subsequent runs, reliably. Tests in the suite of 10 fail at random returning the same 401. We've gone so far as to log what the client is using for request data when using request internally - the Authorization header is correct for each failing request.
Given the simplistic nature of the client's code, this looks more like a network issue or network limitation to me.

the problem ist not solved yet; I am using latest version 7 and get sometimes:
Unauthorized (401) Error: Unauthorized
at ResponseError (node_modules/@sendgrid/helpers/classes/response-error.js:19:5)
at axios.then.catch.error (node_modules/@sendgrid/client/src/classes/client.js:105:29)
at process._tickCallback (internal/process/next_tick.js:109:7)
Support says:
Mar 24, 12:33 PM PDT
Hi Michael,
Thanks for your reply and additional insight. I checked with our team regarding this issue. As it turns out, making rapid Mail Send calls in a row can intermittently lead to an odd 401 error. I sincerely apologize for any inconvenience caused. In this instance, we recommend implementing some form of retry logic within your code when you receive the 401 error as a workaround.
Hopefully, this information was helpful. Please let me know if I was unable to answer your questions, or if you have any other questions or concerns.
Best,
...
When does it get fixed and why the issue ist not open if it is still an issue?

It happened to me too, but i think my problem was different.

It happened to me too, but i think my problem was different.

It happened to me too, but i think my problem was different.
Because I had already reached limit to of 100 mail/day nothing else.
Bulk email is now sent perfectly without any errors.
idk if it helps just wanted to share.


Lightning shows black area while rendering large size image

Hi,
I was using clipping tool to show a large image of 64,000px width but lightning throws following error and black area while rendering.

WebGL: INVALID_VALUE: texImage2D: width or height out of range
WebGL warning: texImage: Requested size at this level is unsupported.

Is there any other way for doing that in lightning?
I was able to do get results while using DOM  and css clipping , is this approach acceptable ?

Hi @AJpandher10
Currently there is no support for very large textures, in fact the limitations are directly imposed by the platform. You could split the image into set of smaller textures and manage them manually if you are determined.

I was able to do get results while using DOM and css clipping , is this approach acceptable ?

As long as you are using standard HTML/CSS to a limited extent, there shouldn't be any negative implications. Once the number of DOM elements grow, the performance will likely decrease significantly.


ci: doc fix, again

:tada: This PR is included in version 3.0.0-beta.1 :tada:
The release is available on:

npm package (@develop dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Avoiding build of Clipper2Z when only the 2d version is required

Currently the CMake build is set up to build Clipper2 twice, once without USINGZ, the again with it defined. In the interest of saving some build time, I was wondering if you would be open to adding a flag specifying that only one of them, or both should be built (with both as the default such that nothing changes for those who do not set the flag)?

Hi Geoff. Your suggestion makes sense, but I'll have to rely on the expertese of others to implement this since my knowledge of CMake is negligible.

Thanks for the consideration! I'll put together a PR for it soon that others may review then.
I see that there is another CMake PR open right now doing something that is a bit above my head, but adapting to those changes should they be merged shouldn't be too bad. Using Clipper2 with the current build setup has worked pretty smoothly for us over at manifold in any case.


Consistency of tangent access for fvar vs Eigen containers for fvar

Description
When accessing the adjoints for var types, the same member function is used for both scalars and containers:
double adjoint = var.adj();
Eigen::VectorXd adjoint_vec = var_vec.adj();

But for fvar types, the tangent() member is used for scalars while the d() member is used for containers:
T adjoint = fvar.tangent();
Eigen::Matrix<T, -1, 1> tangent_vec = fvar_vec.d();

I think we should be using a consistent member for fvar scalars and fvar containers.
Current Version:
v4.2.1

I agree this would be nice to fix.


add navbar to index.mdx

add navbar to link to menu
Overview

What is it?

[ ] Feature / enhancement
[ ] Bug
[ ] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

I close this one because you can change the file in this PR https://github.com/BuilderIO/qwik/pull/5621


fix(array-to-string-conversion): Fix array to string conversion error in webhook registration

WHY are these changes introduced?
While checking a webhook record, an "Array to string conversion" error was encountered. This error occurs when the code tries to concatenate or output an array directly as a string. In this specific case, the $checkBody variable was being used directly inside a string, causing the error.

WHAT is this pull request doing?
This pull request addresses and resolves the "Array to string conversion" error that occurs during the webhook registration check in the application. The error was caused by attempting to concatenate an array directly within a string.

Type of change

[x] Patch: Bug (non-breaking change which fixes an issue)
[ ] Minor: New feature (non-breaking change which adds functionality)
[ ] Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[ ] I have added a changelog entry, prefixed by the type of change noted above
[ ] I have added/updated tests for this change
[ ] I have updated the documentation for public APIs from the library (if applicable)

I have signed the CLA!


sftp client download

Not sure why, but there are issues with the new sftp client when downloading, it does not show progress.  I tested the new code, so I am wondering if its a dependency issue in my docker test container, I am chasing this up, but I may need to submit a new MR with fixes.

Actually this was only an issue if you wanted to use other than port 22 to connect to sftp.  So probably not many will be affected by it, but for my case we use a different port and that does not work currently, I will open an mr with a fix.

Fixed


Helm pull command construction seems to be wrong

Dear maintainer,
As I started using this library, I discovered another issue, this time with helm pull. Here is my code:
from helm_wrap import helm

def download_charts(source_repo, source_chart):
    chart_name = source_chart
    source_chart = helm.Helm()
    source_chart.pull(chart=chart_name, repo=source_repo)

It uses the pull method to pull a chart locally. However, what ends up happening is the following:
CompletedProcess(args=('/usr/local/bin/helm', 'pull', '--chart=cluster-autoscaler', '--repo=https://kubernetes.github.io/autoscaler'), returncode=1, stdout='', stderr='Error: unknown flag: --chart\n')

That is because the following wrong command gets constructed:
helm pull --chart=cluster-autoscaler --repo=https://kubernetes.github.io/autoscaler

instead of the right one:
helm pull cluster-autoscaler --repo=https://kubernetes.github.io/autoscaler

I tried to find out where the bogus --chart= flag is coming to prepare a fix from but I did not succeed.

chart_name is positional argument
def download_charts(source_repo, source_chart):
    chart_name = source_chart
    source_chart = helm.Helm()
    source_chart.pull(chart_name, repo=source_repo)

Right, my fault there.. thanks for the clarification


Crystal: Missing YAML dependency

Crystal requires LibYAML for its YAML module.

Please use the issue template, it's there for a reason.


Cleanup apache2

tested running cdhweb qa playbooks (uses compressor) and prosody and shxco qa; running into errors with the other two (solr reload, webpack build), but they don't seem related to the changes in this pr


[BEAM-13734] Support cache directories that use GCS buckets

Builds off of the work accomplished under [BEAM-13685]
Modified interactive_environment.py to support caching to a bucket on GCS for batch processing pipelines
If a specified bucket does not exist, the interactive_environment will attempt to create one under the given name
Adds docstring to interactive_beam.py with an example of GCS path assignment
Cached files on GCS will be stored under a directory represented by the value of id(pipeline).

Example cached path: gs://my-gcs-bucket/cache/dir/id(pipeline)

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @KevinGG
R: @rohdesamuel

Run Python PreCommit


Debugging and learning

Hi
Nice code, nice interface but I know this is not a real bug but a handycap.
I tried to step debugging in wingide and pycharm...
No able to step in ModelFormAdminView methods...
Thanks in advance.

Finally   I could debug in PyCharm last version but not in WingIDE
so now I can inspect code...
Than you-


Adding link to website repository in the footer

Added a link to the website repository on github:

Should we add an end-to-end test for this as well?

not sure. If you think it warrants it, sure.
IMO, it's just a link, there is little to test automatically. But it can be done if you want, I'm not against it per se.

I added a test case in the same test as the menu, since that test is for "external links".


Mac user unable to click confirm for Stacks transactions

I expect this is caused by some local configuration option because we haven't seen more then one of these reports but it is persistent for the user. However the user switching back to her older MAC did have the same issue even though it worked prior on her old mac.
Connecting the wallet with Bitcoin and signing to confirm account ownership (arbitrary message signing) worked without issue. Singing an arbitrary message on Stacks also worked without issue when connecting to gamma.io or alexlab.co
Clicking confirm here is impossible:

Trying to sign a transaction to list an NFT, or to swap tokens on alexlab.co has not worked for over a month now.
On a call with the user we checked the console but there were no errors displayed.
Current wallet version is 6.3.1, first reported with wallet version 4.35.0

Mouse pointer is not changing to a hand when hovering over the button. Is that expected?

Additional info the user also tried on different browsers (Chrome and Brave) with no other extensions active.
Checked if there was an element over the confirm button, but it doesn't look like it:

It's a bit unclear looking at this screenshot whether the elements inspection was able to confirm there was no overlapping element. Did you try right clicking on the confirm button and selecting "Inspect element", and was the confirm button's element indeed the one that showed up in the elements view on the left-hand side?

I think we did that wrong, I am going to check it again taking those steps exactly.

This is what it look like for the user:

@314159265359879 any more reports of this? I suspect it was an issue due to this particular user's system

@markmhendrickson I have not seen any other reports like this since.


Fixixing most of the clippy warnings

https://github.com/mvirkkunen/usb-device/pull/75 for full set of fixes.


Unexpected behaviour of v-else element after v-for with v-if

Version
2.6.10
Reproduction link
https://codesandbox.io/embed/vue-template-i8oh4
Steps to reproduce
Switch between enabled and disabled for loop.
What is expected?
Expected output when for loop is disabled is "One".
What is actually happening?
Instead it's "OneOne".

When combining v-for and v-if on same element it's expected to encounter some issues since it's not clear at which point vue should execute if-statement (before or in loop) - and solution is in most cases simple by using a wrapper (which is probably also a correct approach).
However, it's really not expected to multiply or execute loop on element after.

It's is clear what happens when combining them, there is even a point for it in the docs: https://vuejs.org/v2/guide/conditional.html#v-if-with-v-for
the v-else appears twice because there are two elements in the iteration. This is working as expected


feat(contract): change taskId to clientId in router

maybe need fix the contract unit test

maybe need fix the contract unit test

fixed it in another pr.


Type highlighting and commenting behavior

Could you give the types a highlighting color?
I would also kindly request and commenting shorkey with G-cc in normal mode.

Do you have an example of any language this works for?

Also gcc works in python-mode similar to how it works in doom emacs

Just for references this is how nim-mode looks in doom emacs

if you use int as a function is it also highlighted?
also, if you use any other type is it also highlighted?
because this is the only line in the python extension that talks about it:
((call
  function: (identifier) @function.builtin)
 (#match?
   @function.builtin
   "^(abs|all|any|ascii|bin|bool|breakpoint|bytearray|bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|enumerate|eval|exec|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip|__import__)$"))

I am trying to see where I can take it from in the python extension

At least for Python it does so in Zed

In emacs nim-mode does the same:

if you use int as a function is it also highlighted? also, if you use any other type is it also highlighted? because this is the only line in the python extension that talks about it:
((call
  function: (identifier) @function.builtin)
 (#match?
   @function.builtin
   "^(abs|all|any|ascii|bin|bool|breakpoint|bytearray|bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|enumerate|eval|exec|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip|__import__)$"))

I am trying to see where I can take it from in the python extension

if you could help will be much appreciated

At least for Python it does so in Zed
In emacs nim-mode does the same:

hmm weird using the theme you listed it works

I could say I am getting close to knowing the issue and will try to figure it out and fix it.

Think this was a me problem, apologies! --> there is an issue where pasting code is using the prior heading but not sure if this is a nim-mode issue. Closing for now.


Compile on QNX

Do you have instructions to compile on Qt QNX or BB10? Or maybe hints on similar systems?

Hi!
It might work on QNX but I don't think anybody reported having done it before.
Did you try to compile at least libsodium on it? How did it end up? If the process didn't complete, please post some logs, and I'll do my best to understand how to make it compile and work on QNX.

Ping?


Please release installer..

Can you please release a simple installer file so that noob user can install this great app without any technical knowledge. 🥺

For now, it is broken (lol), I am gonna fix and release all in v1. Stay tuned 👀


Docs improvements

Hi!
I have been reading the sources recently and found a few typos along with a link to a wrong place in brod_group_subscriber_v2.

thank you for the PR @mtvch


ImportError: cannot import name 'Markup' from 'jinja2'

When I attempt to run the Flask demo it fails immediately:

ImportError: cannot import name 'Markup' from 'jinja2' (/home/example/test-saml/python3-saml/demo-flask/env/lib/python3.10/site-packages/jinja2/init.py)

I'm using Python 3.10.15 and the master branch of python-saml.  I have not touched any of the files like settings.json yet as I want to get a baseline first. Here are my steps:
cd demo-flask
python3 -m venv env
. env/bin/activate
pip install -r requirements.txt
python index.py

The ImportError happens immediately.
pip freeze shows that I'm getting these packages:

click==8.1.7
Flask==1.0
itsdangerous==2.2.0
Jinja2==3.1.4
MarkupSafe==3.0.2
Werkzeug==3.1.3

Oh, sorry, I meant to open this on https://github.com/SAML-Toolkits/python3-saml instead!


Package request: Navidrome

Project description
A music server and streamer compatible with Subsonic/Airsonic.
Metadata

homepage URL: https://www.navidrome.org/
source URL: https://github.com/deluan/navidrome/
license: gpl3

I created a fork of nixpkgs with a branch called navidrome that has this application: https://github.com/andrea96/nixpkgs/tree/navidrome
I also added myself to the mantainers.
Now I have two questions:

How can I correctly create a pull request?
My derivation doesn't compile the project but download the statically compiled binary (for x86_64). I tried to create a derivation which compile the program but I'm a noob...

PS: I also tried creating a service with systemctl and it works easily, if this package request will be satisfied I'll add the service too.

Closing since #88928 has been merged.
I'll open another issue when I'll add the nixos module to enable navidrome as a service.


removed daily-dev reference

You want to make a PR to Talos
Thanks so much :) First, please take a moment to carefully check through
the below items:
Sanity

[x] I'm aware of the implications of the proposed changes
[x] Code is PEP8
[x] I'm making the PR to master

Docs

[x] Docs are updated
[x] Docs version is correct (index.html and _coverpage.md)

Tests

[x] Changes have gone through actual use testing
[x] All local tests have passed (run ./test.sh in /talos)
[x] Tests have been updated to reflect the changes

Pull Request Test Coverage Report for Build 598

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.552%

Totals

Change from base Build 594:
0.0%

Covered Lines:
1279

Relevant Lines:
1495

💛  - Coveralls


how to install tensorflow 0.12 or 0.9 version on windows now?

I have tried several ways to install tf based on docker, but the installation code can only install the latest tf version.......

You can find older versions of the website at: https://www.tensorflow.org/versions/
and browse from there.
For example, installation instructions for 0.12 on Windows are at:
https://www.tensorflow.org/versions/r0.12/get_started/os_setup#pip_installation_on_windows
Hope that helps.

sorry I cant find the link, and cant install tensorflow 0.12 on windows, can anyone suggest an approach or an alternative

This version is no longer supported


Event annotations

Provide annotation point for 1.x parity.
Example of annotation with this Grafana Annotation definition:  select description from sensu_event where $timeFilter ORDER BY time ASC

That was fast!!

lgtm

did a local build  and a test with system-profile-linux check.
Seems like its working.  There's some corner cases that need to be massaged
would definitely like to be able to optionally disable annotation
example: the system-profile-linux asset is a basically just a big ole metrics check.
I'd like to run the influxdb handler without annotations as a metrics_handler for that check
but run influxdb handler with annotations as a status handler + incident filter to catch/annotate check failures


Use current PODIO version in CI

The current CI with travis uses an outdated version of PODIO - this is why some PRs fail the CI.
I have tagged a release for PODIO: https://github.com/AIDASoft/podio/tree/v00-09-02
can we switch to this ?
Maybe even better: can we setup up a mechanism that uses nightly builds of PODIO like we are doing in iLCSoft ?

Options discussed in today's developers meeting:

add PODIO to  nightly  builds of https://github.com/iLCSoft
build PODIO from the HEAD as external package
use HSF cvmfs nightly builds
- not yet visible publicly

Solved for now in #18.


ScollDir is always down

Brief Description
The scroll direction hook always returns down, even when scrolling up.
Environment

@smakss/react-scroll-direction version: 4.04
Framework version: react
node.js version: 20.8.0
yarn version: 1.22.19

Code Snippet

export default function Example() {
  const { scrollDir } = useDetectScroll();

  console.log(scrollDir);

  return "ababa";
}

Steps to Reproduce

Scroll up and down
Expected Behavior

Scrolling up returns up.
Actual Behavior

Events always return direction as down.

Hello! Apologies for the delayed reply, and thank you 🙏 for bringing this to our attention. I'm on it and will investigate the issue immediately.

Hi @astralarya,
Thanks for bringing this to my attention. Despite testing on Chrome, Firefox, and Safari with the same Node.js version, the issue couldn't be replicated on my end. To dive deeper and find a solution, could you please provide the following details?

Browser and Version:
Operating System:
Bundler If any
Console Errors/Warnings: If any.
Specific Conditions: Under which the issue seems more pronounced, if applicable.
Visuals: A video or screenshots capturing the issue, if possible.

Your further insights will be crucial for me to identify and address the problem effectively. I appreciate your cooperation and patience.
Thank you!

Hey @SMAKSS
It's really looks like it might show 'Still' at start and only down 'Down' later
Here's my: codesanbox I hope it will work enough to show the bug.
In general in my project and sandbox it's  Node 20+ and Next.Js 14+ with appDir

Thanks to @astralarya and @KubaZachacz for your support and contributions! I've deployed a fix. Please update to the latest version and check if it resolves the issue.
Looking forward to your feedback!


Create distinct asictopflow and signoffflow

This PR creates two new flows:

signoffflow: this is the optional verification component of asicflow, split into its own. It has been added to the Skywater target.
asictopflow: this is the "physflow" that is currently hardcoded into the ZeroSoC build script. It takes in a DEF and just does a GDS stream out with any configured libraries, and also generates a netlist for passing into future LVS steps.

This sets us up nicely to begin thinking about how we want to stitch flows together. Right now, I've settled on using the 'read' schema coupled with 'chip.find_result(...) to implement the hand-off from one to another (see changes to test_gcd_skywater.py as an example), but I think there are certainly ways this could be improved.

Looks good! I have a proposal for the modular flow to discuss tomorrow.


Updated the Installation Docs

Added a command for installing express as it's the most widely used command for installing Express(in all the tutorials I have seen till now! )

@aravindvnair99 Isn't npm install express  --save deprecated?
After npm 5.0.0, installed modules are added as a dependency by default, so the --save option is no longer needed

@aravindvnair99 Isn't npm install express --save deprecated? After npm 5.0.0, installed modules are added as a dependency by default, so the --save option is no longer needed

@nshah1729 That is correct. I would be more in favour for that change as opposed to the currently proposed changes.

@aravindvnair99 So what should I do?
Should I close this PR and create another PR with npm install express --save removed??

@aravindvnair99 So what should I do? Should I close this PR and create another PR with npm install express --save removed and replace it with npm i express??

@nshah1729 You can edit in same PR itself. Any changes you make in same branch would be reflected here.
As for what to do, my suggestion would be to replace with --save.
Note: There are others in the community as well who might have a different opinion. You could either wait for others to pitch in or make the change and wait for others to pitch in. @dougwilson finalises.

ok Sure!

I've done!Please check

I think this question was raised before and it was decided to leave --save. See https://github.com/expressjs/expressjs.com/pull/936

With rhe number of times folks keep trying to PR this same change, if merging this will take the PRs stop, then that is probably for the better. There is the note below this that explains the --save option and this PR doesn't remove it, so hopefully thay is satisfactory for the readers.

Sounds good to me. @nshah1729 can you update this command in the starter guides for the other languages, pease?

@dougwilson Sure! Please merge this PR...I will update the same create PRs in other langs also!

Just push the updates to the branch this PR is made from and they will be added automatically 👍 no need to make a bunch of PRs if you don't want to. As for merging this PR, either get all the updates added to this PR or get all the PRs made and then we can merge.

Oh neat, I never knew that there was even a console/terminal specifier. Did you verify the jekyll pipeline understands it?

Oh neat, I never knew that there was even a console/terminal specifier. Did you verify the jekyll pipeline understands it?

@dougwilson Yep, Kramdown supports it. GFM is entirely supported.
Reference:

https://github.com/expressjs/expressjs.com#formatting
https://github.com/kramdown/parser-gfm
https://kramdown.gettalong.org/quickref.html#code-blocks

Hey @nshah1729! Any updates?

@aravindvnair99 I've committed the changes. Is it done?

@aravindvnair99 I've committed the changes. Is it done?

@nshah1729 https://github.com/expressjs/expressjs.com/pull/1295#discussion_r754592877

@aravindvnair99 You mean to say that I remove --> 默认情况下，版本为 npm 5.0+ 的 npm install 将模块添加到 `package.json` 文件中的 `dependencies` 列表；对于较早版本的 npm，必须显式指定 `--save` 选项。 今后运行 `app` 目录中的 `npm install` 将自动安装依赖项列表中的模块。 from the current PR (the last para)?


Solving the bug with max_variance method

Converts pandas.Series to DataFrame to resolve merging error in probes.py when using max_variance method.
Solving issue #124

This looks great! Thanks so much for the contribution, @gifuni :tada:


Fixed _clamp function for scaled viewports

This is a pull request for #954.

Looking at the docs, the code actually should be like this PR:
*
* `x` between `(-Crafty.viewport._x)` and `(-Crafty.viewport._x + (Crafty.viewport._width / Crafty.viewport._scale))`
*
* `y` between `(-Crafty.viewport._y)` and `(-Crafty.viewport._y + (Crafty.viewport._height / Crafty.viewport._scale))`

Looks good to me.    I think our current set of tests specifically disable the clamp effect, but we should probably add some additional tests to catch issues like this in the future.


[Feedback]: We don't need a seperated idempotency test

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Description
ID: SNFR7 - Category: Testing - Idempotency Tests described a testing that ensures deploying the module twice over the top of itself won't cause any config drift. We can add this idempotency as part of the e2e test, as we have done in terraform-module-test-helper library.
Idempotency should be part of our e2e testing acceptance criteria.

Hey @lonegunmanb,
Purely from a function/non-functional requirements perspective we believe that they are fine to leave as invidual items to call out.
From an implementation perspective, following the contribution guides and template repos etc., they certainly can be combined into one set of tests/setps/jobs.
Closing as no action required


Simulated vs estimated contract plot

The plots in the Tests section can be improved by:

Starting the simulations from a common initial value
Using the same simulated values of the dW pair
Providing a third plot showing the SS and FP sample paths together,  for the same simulated innovations and initial values.

A plot of sample paths from Schwartz Smith model and polynomial diffusion model using same parameters and innovations is added: https://github.com/peilun-he/PDSim/commit/091cbeb9c9f803c15cf613ee552c91b2d499741f

For the simulated sample paths: https://github.com/peilun-he/PDSim/commit/091cbeb9c9f803c15cf613ee552c91b2d499741f#commitcomment-138765359

Some updates according to your suggestions: https://github.com/peilun-he/PDSim/commit/fa01e27493c6bd0f44ec5c35f3046f3545d94d2e.
If $\alpha_4 = \alpha_5 = \alpha_6 = 0$, the difference of futures prices is exactly 1.
I also added a new section about the convergence of the spot prices. This demonstrate that when some coefficients converge to 0, the simulated spot prices from two models converge to each other.

Sorry please ignore the part about spot prices for now. I will need to make further clarifications.
I apologise.

Dear Prof. Van de Vyver,
This is a response from Prof. Peters in consultation with the corresponding author Mr. He, intended to clarify aspects of this response to your request regarding the figures in the testing section.
Please allow us to clarify some remaining items of consideration:

The figures referred to SS model and polynomial diffusion model test results do in fact have the same state initialisation. However, what is plotted is the futures price for each model. Since the model are not the same, these plots will never match at the same value. Please note that this does not mean that we cannot use these results for confirmation of the implementation of each model. An argument is made for the justification of our approach in our response to related suggestions please see: #14 .
Regarding "Using the same simulated values of the dW pair", this was performed as part of the study referred to item 1 above.
Regarding "Providing a third plot showing the SS and FP sample paths together, for the same simulated innovations and initial values", given the additional insights we have commented about in our response (#14 ), it should be apparent that this is not a viable plot that would be of value for the intended purpose. Instead we have provided the alternative plots and illustrations that we believe achieve the desired objective (see discussion in #14).

Both Mr. He and co-authors deeply appreciate your time and consideration on this review and we hope that we have clarified the justification for our response to this request. Of course, if there are any additional aspects you wish to see we are more than happy to work with you to finalise this review as needed.

Thank you for the update.  Hopefully this suggestion focuses attention on the issues.

Please reproduce Figure 4. from the original SS paper.

Note this does not replace the requirement to reproduce Figure 1 from the same paper
I understand these models can be subtle, and have 'unusual' objects in them.  That needs to be called out in the user documentation and reflected in the UI for 'unsuspecting' users.
To assist I have found another project where the author has produced what one would naturally expect.  You really just need to follow his code to produce the Fig 4 replication he has:

https://www.mathworks.com/matlabcentral/fileexchange/29745-simulation-of-schwartz-smith-two-factor-model?s_tid=FX_rc3_behav

Please produce a similar figure for the FP model, specifically showing the same objects as the Goodwin SS replication.

Please update your simulated SS and FP to show the same series shown in Goodwin's work

Hopefully you'll agree the current simulations are entirely inadequate and miss the point of these models.
To be clear, I am not suggesting this confusion bars publication - we all learn somehow - and this is an entirely technical exercise of simulating and estimating.
However, you did chose the make financial applications the focus of your paper, so it is reasonable that you at least produce the core features of the models.
That said, this submission is not a venue for a basic course in Finance and I have exhausted my free time I willing to devote to this.
Please only update these issues when you believe you have implemented what I have suggested is need. Or ask an editor to disregard the suggestions.

Figure 4 has been reproduced in the "Replicating Schwartz and Smith's Results" section for both the Schwartz and Smith model (3rd and 4th plots) and the polynomial diffusion model (5th and 6th plots). However, due to the unavailability of the same data (1990 - 1996) as Schwartz and Smith, we utilised simulated data from their estimations. Additionally, we divided Figure 4 from Schwartz and Smith's paper into two plots for each model to clearly display the confidence interval.


Stupid misusing of defer

https://github.com/go-mysql-org/go-mysql/blob/1c55c36dc919cb9cf7971359e2e185940dd17d2c/packet/conn.go#L90-L112
defer utils.BytesBufferPut(buf) and
 		// if read block is big, do not cache buf any more
 		if readSize > utils.TooBigBlockSize {
 			buf = nil
 		}

defer capture buf early, so modify buf after defer not working.

The reason is

if read block is big, do not cache buf any more

Do you meet some problem with this feature?

@lance6716 I mean set buf = nil has no effects after defer utils.BytesBufferPut(buf).

Oh thanks for pointing it out. utils.BytesBufferPut should be able to handle too large buf.
Can you open a PR to fix it? I'll check it when review your PR.

Oh thanks for pointing it out. utils.BytesBufferPut should be able to handle too large buf.
Can you open a PR to fix it? I'll check it carefully when review your PR.

I read the utils.BytesBufferPut implementation, it has handled big buffer:
https://github.com/go-mysql-org/go-mysql/blob/master/utils/bytes_buffer_pool.go#L26-L30
so buf = nil has no effect, but 'not cache big buffer' function works as expected.

@shizhx thank you for pointing this out and opening a PR!
May I point out to you that this project is mainly, if not completely, run by volunteers, as do many open source projects. If you want something done, you should really adjust your tone of voice. Calling an honest mistake by a previous contributor "stupid" is certainly not constructive.

@skoef I am very sorry, I will pay attention in the future.

@skoef But this project is the most important library about MySQL replication, yet the unit tests are too few, some commits change same line repeatly to fix some 'stupid' issue. So I expect:

more unit tests.
more carefully review of commit.

@shizhx thank you for understanding! I agree that more unit testing is better and I encourage you to contribute as you seem to be engaged in the project!


xiwi can't connect; crouton integration extension corrupts every time

Please paste the output of the following command here: sudo edit-chroot -all

name: buster
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/buster...
crouton: version 1-20190403182822~master:174af0eb
release: buster
architecture: amd64
xmethod: xorg
targets: x11,xorg,xiwi,core,keyboard,cli-extra,extension,audio
host: version 12239.19.0 (Official Build) beta-channel cave
kernel: Linux localhost 3.18.0-19677-g1a6476d7970e #1 SMP PREEMPT Fri Jun 21 00:39:20 PDT 2019 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/buster...
name: xenial
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/xenial...
crouton: version 1-20190403182822~master:174af0eb
release: xenial
architecture: amd64
xmethod: xorg
targets: keyboard,chrome,xorg,gnome-desktop,xiwi,touch,cli-extra,extension
host: version 12239.19.0 (Official Build) beta-channel cave
kernel: Linux localhost 3.18.0-19677-g1a6476d7970e #1 SMP PREEMPT Fri Jun 21 00:39:20 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
Please describe your issue:
I run xiwi (as per usual) but today since ChromeOS update to Version 76.0.3809.38 (Official Build) beta (64-bit): Crouton integration extension disables and states; "This extension may have been corrupted." on the chrome://extensions/ page. I click repair, does it again, I repair and reboot, it does it again. I updated crouton, and the chroot, no change. Crouton xiwi is now broken for me. Please help, workflow is severely disrupted at critical time.
See shell output:
XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-128-generic x86_64 Ubuntu
Current Operating System: Linux localhost 3.18.0-19677-g1a6476d7970e #1 SMP PREEMPT Fri Jun 21 00:39:20 PDT 2019 x86_64
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 3686400 verity payload=PARTUUID=14e4a785-f535-734d-a93e-1f00f0a68872/PARTNROFF=1 hashtree=PARTUUID=14e4a785-f535-734d-a93e-1f00f0a68872/PARTNROFF=1 hashstart=3686400 alg=sha1 root_hexdigest=623d842c62fe23b02b2d6a46dd5417995be783e1 salt=c92e1843afee3af5874dffff863db9e91469aceec48baf64a4da8e9452b2880b" noinitrd vt.global_cursor_default=0 kern_guid=14e4a785-f535-734d-a93e-1f00f0a68872 add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic intel_idle.max_cstate=7
Build Date: 10 August 2018  09:33:05AM
xorg-server 2:1.18.4-0ubuntu0.8 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.33.6
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Sat Jun 29 03:01:59 2019
(++) Using config file: "/etc/X11/xorg-dummy.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
/usr/bin/xinit: XFree86_VT property unexpectedly has 0 items instead of 1
crouton: version 1-20190403182822~master:174af0eb
release: xenial
architecture: amd64
xmethod: xorg
targets: keyboard,chrome,xorg,gnome-desktop,xiwi,touch,cli-extra,extension
host: version 12239.19.0 (Official Build) beta-channel cave
kernel: Linux localhost 3.18.0-19677-g1a6476d7970e #1 SMP PREEMPT Fri Jun 21 00:39:20 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
Error: not connected.
Cannot connect to extension, retrying...
Error: not connected.
Cannot connect to extension, retrying...
Cannot open /sys/class/tty/tty0/active: No such file or directory
Connected to extension, launched crouton in a window.
Terminated
Running exit commands...
/usr/bin/xinit: connection to X server lost
The xiwi window that opens gives this error:
ERROR: Connection failed (code: -2).

If known, describe the steps to reproduce the issue:
Unknown. Update to latest Beta channel Chome OS version on Friday 28th of June with an Asus c302 and run xiwi with VS Code as with command: sudo startxiwi code or enter the cli first and use xiwi code or xiwi -T code

Closing and duping to:

The extension corrupted after last update dev chanel(ASUS C302) #4078


fix test since flaeg update on splitArgs()

Coverage remained the same at 89.247% when pulling 62c9b4fb8658b6a953bf9d683b5ee1b4a0b761eb on fix-flaeg-update-split-args-func into a299976c10ce97f27a68d6f11161e9886857a18c on master.


Default file name of the phpunit config

#6

you should also add phpunit.xml in the gitignore IMO

done in #11

:+1:


Now automatically converts all matches to title case

As per https://www.reddit.com/r/pathofexile/comments/7vepef/i_made_a_discord_bot_for_the_path_of_exile_wiki/dtsye45/

Thanks Leftn. That works really well. Appreciate the help :)


don't require --judge-model for mt_bench_branch if already set in the config

The mt_bench_branch evaluation benchmark should not require the --judge-model flag when there is a judge model field specified in the config. However, the command is currently failing because it does not read the judge_model field from the config and instead returns an error, instructing the user to specify the judge model using the --judge-model flag.
Steps to Reproduce
Use a downstream config with the judge model field properly defined.
Run the eval mt_bench_branch benchmark without specifying the --judge-model flag.
Expected Behavior
The benchmark should read the judge model field from the config and proceed without requiring the --judge-model flag.
Actual Behavior
The command errors out and instructs the user to specify the judge model using the --judge-model flag, despite it being present in the downstream config.
Possible Solution
Ensure that the judge_model field in the config is correctly parsed and used by the benchmark, eliminating the need for the --judge-model flag. Need further investigation into the eval repo

I tried this an wasn't able to recreate:
time ilab model evaluate --model /home/ec2-user/.cache/instructlab/models/instructlab/granite-7b-lab/ --benchmark mt_bench
Using local model found at '/home/ec2-user/.cache/instructlab/models/instructlab/granite-7b-lab' for '--model'
Using local model found at '/home/ec2-user/.cache/instructlab/models/instructlab/granite-7b-lab' for '--judge-model'
...

with my config as:
  mt_bench:
    judge_model: /home/ec2-user/.cache/instructlab/models/instructlab/granite-7b-lab/

What was the setup for the failing test?

@alinaryan - could you follow up on this?

I have not been able to reproduce this again. I suspect we were using a faulty config when this was found during one of the e2e runs. Will reopen if we come across this again.


Deprecated "registry.terraform.io/hashicorp/template"

Description
Terraform eks 14 module is using deprecated "template provider", which doesn't support mac m1.  Ref. https://github.com/hashicorp/terraform-provider-template
Error while running terraform init
Incompatible provider version

Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a
package available for your current platform, darwin_arm64.

Versions

Terraform: v0.14.10

Provider(s): terraform-aws-modules/eks/aws

Module: 14.0

Reproduction

Steps to reproduce the behavior:
Run terraform module terraform-aws-modules/eks/aws with version 14 on Mac M1.

Code Snippet to Reproduce

Expected behavior

Actual behavior

Terminal Output Screenshot(s)

Additional context

There is still the problem with v0.15.0 on darwin_arm64
Error: Incompatible provider version

Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a
package available for your current platform, darwin_arm64.

Provider releases are separate from Terraform CLI releases, so not all
providers are available for all platforms. Other versions of this provider
may have different platforms supported.

Could you write us when this out-of-date module will be replaced?


FIX: prevent raw._data overwrite from _add_exg and _add_chpi

Reference issue
Fixes #8587
What does this implement/fix?
in mne/simulation/raw.py  - functions _add_exg and _add_chpi, the code set the raw._data to a variable "data".
The variable "data" was written over by the output of these functions.  This would leave the raw._data as the last operation performed. The fix is to sum the raw._data numpy array with the output from the functions.  (+= vs =).

thx @jstout211
can you add an entry in the what's new page?
also I wondering if we could add a test that would fail on master and that now works?

@larsoner - I tried to add a test for the add_chpi - but the assert_close fails.  I didn't see the ability to set a seed number on that simulation.  I backed out of that modification, so it currently tests eyeblink, cardiac, and noise addition.  add_chpi does not have testing coverage even though the code was changed in the same manner within simulation/raw.py.

I didn't see the ability to set a seed number on that simulation.

There is no randomness in the cHPI so nothing to seed. Can you add the code that you think should pass but does not and I'll see if I can push a commit to fix it?

I didn't see the ability to set a seed number on that simulation.

There is no randomness in the cHPI so nothing to seed. Can you add the code that you think should pass but does not and I'll see if I can push a commit to fix it?

@larsoner - I changed the test to use the chpi test dataset and added the chpi components to both signal routes.  It is not currently passing.

Your code more or less worked, once I changed to use raw.copy() and raw.get_data() rather than deepcopy(raw) and raw._data directly things worked. Not 100% sure why, maybe some weird numerical precision thing... things pass locally, let's see if CIs agree and then merge once you confirm or send a new URL above -- thanks in advance @jstout211


v1.3.12 breaks BrutalCompanyPlusCompatibility

Title says it all; v1.3.11 works fine.

Title says it all; v1.3.11 works fine.

Was a small mistake, should be fixed in 1.3.13

Seems to work fine now, thanks ^^


[SerialExecutor] SerialExecutor.checkIsolated() to check its own tracking for isolation checks

This implements the proposal SE-0424
resolves rdar://112637467
Related thread: https://forums.swift.org/t/dispatchqueue-serialexecutor-isolation-check-is-not-consistent-on-darwin/69389/4

@swift-ci please smoke test

I expect this to fail on linux, but wanted to give it a quick check on other platforms

@swift-ci please build toolchain

@swift-ci please test

@swift-ci please test

Failure was a missing %import-libdispatch I think

@swift-ci please smoke test

hmm real failure specific to x86 macos
*** Program crashed: Bad pointer dereference at 0x0000000000000000 ***

Thread 0 crashed:

0                  0x0000000000000000
1 [ra] [thunk]     0x00000001088897a1 ActorOnNaiveQueueExecutor.__allocating_init() + 33 in a.out
2 [ra]             0x000000010888a9ca static Main.main() + 202 in a.out
3 [async] [system] 0x000000010888b700 static Main.$main() in a.out
4 [async] [system] 0x000000010888b830 async_MainTQ0_ in a.out
5 [async] [thunk]  0x000000010888b960 thunk for @escaping @convention(thin) @async () -> () in a.out
6 [async] [thunk]  0x000000010888ba70 partial apply for thunk for @escaping @convention(thin) @async () -> () in a.out
7 [async] [system] 0x00000001089baeb0 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) in libswift_Concurrency.dylib at /Users/ec2-user/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/swift/stdlib/public/Concurrency/Task.cpp:471

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test Linux


Issues about CMD

Hi Corfyi,
many thanks for releasing this impressive work. I have a confusion regarding the construction of the measurement noise covariance matrix R_k in the CMD (Correlated Measurement Distribution) section.
Specifically, in relation to the detection noise factor(sigma_m=0.05) which is encountered within the getUVError function in the code, my understanding is that some fine-tuning may be necessary for images/videos with different resolutions.
Additionally, when dealing with images or videos that have resolutions differing from the demo, I'm uncertain about how the constraints on pixel errors along the u and v axes in the getUVError function (specifically, the several hyperparameters like u>13, u<2, and v>10) should be adjusted.
However, I am not entirely confident in my interpretation, and I would greatly appreciate hearing your perspective on this matter.

Hello Corfyi, I have another question, and I really hope you can answer it.
In the paper, the Mahalanobis distance between the observations and the predictions from the Kalman filter is calculated to measure their similarity, thereby maintaining the target's ID at different time step.
My question is, does a smaller Mahalanobis distance indicate higher similarity between the probability distributions of the observations and predictions (i.e., representing the same target), or does a larger Mahalanobis distance indicate higher similarity? In theory (my perspective), the Mahalanobis distance is constructed using the covariance matrix of the probability distributions, thereby, a larger Mahalanobis distance represents a larger variance, so my understanding is that a smaller Mahalanobis distance indicates higher similarity. However, in practical parameter tuning, I found that setting a larger Mahalanobis distance threshold actually leads to better tracking performance. Conversely, setting a smaller threshold results in more ID switches. Could you please share your understanding? If there are any errors in my statement, please feel free to point them out. Thank you very much!


Fix for multiple users on the same machine

The issue and fix are described in https://github.com/tmux-plugins/tmux-continuum/issues/16 .
Without this change, tmux-continuum works only for one tmux server on the machine. In a multi-user environment (e.g. a shared server), when multiple users are running their own tmux servers, this means that tmux-continuum works only for one of the users.
This change enables tmux-continuum for one tmux server per user instead of one tmux server per machine.

@bruno- Could you please review this? This feature is super helpful.

Merge via 1531b3770a7cf7373d15fedd239c5331b99342d1
Thanks


FeedAHelp: update footer content with proper data and links

Sir, here I need the data and links to update the footer.

CAT-1: **About Us:**
Mission and Values
Our Story
Meet the Team
Daily Feeding Initiatives
Community Outreach
Special Campaigns
Volunteer Opportunities
Donate to Support
Partner with Us
Success Stories
Beneficiary Testimonials
Statistics and Reports
Blog and News
FAQ
Food Security Insights

CAT-2: **Join Our Community:**
Newsletter Signup
Follow Us on Social Media
Join the Discussion
Upcoming Events
Past Events Gallery
Fundraising Events
Corporate Partners
Nonprofit Collaborations
Sponsorship Opportunities
Customer Support
Feedback and Suggestions

CAT-3: **Contact Us:**
Contact Information
Reach Out to Support
Social Media Links
Terms and Conditions
Privacy Policy
Donor Rights


Enable binary encoding and printing of multi-package wit files

Wit files that leverage multiple packages should be able to be encoded into binary and printed back out with the changes in this PR

Ok reading over this some more I don't think that this is going to work as-is. It looks like this is basically adding a few loops in a few places, but I think that the changes required are going to be more significant than that. For example each interface/world in a package, when encoded today, is exported as the kebab-cased-name of the interface/world. Each kebab-cased export is a standalone component type which has full context for just that interface/world.
With multiple packages something will need to change about this format. Otherwise it's not possible to encode two packages which contains interface foo for example since that would generate two kebab-cased exports named "foo". I haven't thought much about what the format should be, so I don't have an answer off the top of my head.

cc @lukewagner for possible brainstorming on the format here. The question being that today we have:
$ wasm-tools component wit -t <<< "package a:b; interface foo {}"
(component
  (type (;0;)
    (component
      (type (;0;)
        (instance)
      )
      (export (;0;) "a:b/foo" (instance (type 0)))
    )
  )
  (export (;1;) "foo" (type 0))
  (@custom "package-docs" "\00{}")
  (@producers
    (processed-by "wit-component" "0.210.0")
  )
)

What's the best way to represent this WIT package:
package a:b1 { interface foo {} }
package a:b2 { interface foo {} }

I'm tempted to say:
(component
  (component $a:b1 (; output of `wasm-tools component wit -t for just `package a:b1` ;) )
  (component $a:b2 (; output of `wasm-tools component wit -t for just `package a:b2` ;) )

  (export "a:b1" (component $a:b1))
  (export "a:b2" (component $a:b2))
)

This isn't currently valid though as "a:b1" isn't a valid export string, right now it needs to be fully qualified. This could be seen as motivation for relaxing those restrictions, but that's balooning the change a good deal so I'm curious if you have thoughts on this.

Ooh yeah, really good question.  Agreed that the natural first step seems to be to put each nested WIT package into its own nested component.  Then to your question: maybe this is weird but: what if we just didn't export those nested WIT packages at all?  That would imply that when WIT tooling was slurping up a binary WIT package, it would need to recurse through all nested components and populate its internal namespace with all interfacename-d type exports of exported component types (rather than only doing so for the root component).  Would that work?
What's neat about this is that it preserves the distinction between:
package ns:a;
package ns:b { interface i {} }
interface i {}

and
package ns:a { interface i {} }
package ns:b { interface i {} }

The former you could say is defining the package ns:a (which exports i) and bundling ns:b as an external dependency whereas the latter is defining an empty unnamed package that bundles external packages ns:a and ns:b.  I think that distinction makes sense?

I think that could work yeah and that seems reasonable to me. For the start I think it'd just walk the root component looking for subcomponents rather than spidering the whole thing, but either probably wouldn't be too hard to implement. I'm thinking though it'd be best to only accept a conservative shape of components to keep our options open in the future to different organizations if we want.
Otherwise though this WIT:
package ns:a;
package ns:b { interface i {} }
interface i {}

currently isn't valid where WIT text files are either package foo:bar; mode or exclusively package foo:bar { ... } mode. That being said being able to express the distinction there eventually I think is good regardless if we want to support it in the future.

Ah right, good point; unless and until we add package { ... } blocks inside package { ... } blocks, you shouldn't need to spider.

So if I'm following correctly then for the scope of this PR, since mixed package declaration styles isn't yet supported, then in Alex's example where we have:
package a:b1 { interface foo {} }
package a:b2 { interface foo {} }

this would end up encoded with no exports:
(component
  (component $a:b1 (; output of `wasm-tools component wit -t for just `package a:b1` ;) )
  (component $a:b2 (; output of `wasm-tools component wit -t for just `package a:b2` ;) )
)

Is that right?
Then whenever we end up with mixed declaration styles being supported (maybe I"ll do that as a follow up or if it doesn't seem so bad I may try to include it in this PR) we could see both this and the current day encodings appear side by side in a single encoded wit file.

Indeed! So the encoder will basically say if there's one package do what it does today but with multiple packages being encoded they're encoded in this new format. Similarly the decoding process would need to recognize the new multi-package format and decode that in addition to supporting the previous single-package format.
There's still sort of a question of defaults, but I think that's reasonable to tackle at a later date. Specifically I'm wondering for example what the output of wasm-tools component wit would be for wasi:cli. Whether that by default transitively includes all dependency packages I'm not sure.

So I have implemented these changes locally for encoding multiple wit packages.  When decoding though, I found that some modifications will be have to made here as the current tooling will try to parse the binary as a component instead of a wit package if no exports are present.
I think a convention needs to be decided on how to discern whether these are nested components in a component implementation vs being used to describe a wit package?  I was thinking that maybe the component names can can provide a mechanism?  If not then we could go back to expecting exports for these cases, and the convention could be established in how they're exported?

After some more thought...  I'll actually probably investigate refactoring ComponentInfo into ComponentsInfo, with multiple packages in it.  Then we could perform the existing check on each package, and it could also provide a clearer route to mixing package declaration styles.

That's a good point! I agree though that we can probably update how metadata is tracked and extend the "is empty" check to exclude the case of "no exports but has a bunch of components which all look like WIT packages"

Cool. I think I've essentially accomplished the thrust of what's involved in order to make to that now... As I'm tidying it up I'm evaluating whether or not to include support for mixing package declaration styles or have that be a follow up.

Hmm seems I botched something up switching branches... should be able to look into what went wrong shortly...

I think this should be ready for review now... just investigating why it's struggling to get gcc with yum in CI/CD.

I'm going to close this as the conclusion of this PR manifested in https://github.com/bytecodealliance/wasm-tools/pull/1700 which is to instead of supporting the feature being added here instead explicitly don't support it. The encoding/printing phases will continue to work on one "primary package".


clarify archeio docs

We should discuss the current design before the original design
Clarifying that you must join the mailinglist to access the original design sketch Google doc, still getting a lot of requests for this doc and this is the only place we currently link it AFAIK. Also clarifying that it's not current and the design has evolved, and outlining how that has evolved a bit.
Adding another pointer to the main readme and particularly the stability section
Clarifying repeatedly that while we document for transparency, you cannot rely on the implementation details
Adding a bit more context re: security posture

I need to do a follow-up updating the "request handling" diagrams, we've made some slight changes since the last update.

I think actually the only thing missing from request handling doc is /v2/_catalog, we did update it when doing #147

/approve
/lgtm
/hold if you want to fix the tiny nit

/hold cancel
/lgtm


We need support to contain both complex mat-label and complex mat-content in mat-tab.

Documentation Feedback
We need support to contain both complex mat-label and complex mat-content in mat-tab.

For now, we can just take a workaround, use another router to replace the content, so that can make tab contain icon.
Affected documentation page
https://material.angular.io/components/tabs/api#MatTabLabel

This issue needs more information:

Is it a bug or a feature request?
What are you seeing vs what do you expect to see?
Please provide a stackblitz reproduction rather than a screenshot of code

Closing since no additional information was provided after our request.


Florida updates

Adjusted age qualifier to 50+
Removed qualifiers that were essential worker position + age 50+ (since duplicative with overall age requirement)

[{"key":"florida","type":"vaccination","value":{"content":{"phases":[{"id":"1a","qualifications":[{"question":"c19.eligibility.question/healthcare_worker.are"},{"question":"c19.eligibility.question/long_term_care_resident.are"},{"question":"c19.eligibility.question/health.1a.fl.extremely_vulnerable","moreInfoUrl":"","moreInfoText":"c19.eligibility.moreinfo/health.1a.fl.extremely_vulnerable.fl.1a"},{"question":"c19.eligibility.question/age.are"}],"label":"Current phase"}]}}}]


Open peek definition break transparency

Describe the bug
When you open a window with peek_definition the transparency is broken, is full black background.
Video:
https://user-images.githubusercontent.com/44141208/235259672-38a19344-2bc3-43b8-a1f2-26c87757d5ee.mp4
Config:
saga.setup({
  ui = {
    winblend = 10,
    border = 'rounded',
    colors = {
      normal_bg = "NONE",
    }
  },
  beacon = {
    enable = false,
  }
})

Steps to reproduce

Open a file
Move cursor over a function
Use hover_doc and validate transparency is ok
Use Lspsaga peek_definition over the function and close
Validate background color is not more transparent

Expected behavior
When open peek_definition and close the window transparency don't change
Neovim version (nvim -v)
0.8.3
lspsaga commit
32a9dca
Terminal name/version
Kitty 0.26.5

hmm yep I guess it will have problem with transparent bg ...wait a refactor in next version thanks


tf 0.13

Error: Failed to install provider
Error while installing hashicorp/namecheap: provider registry
registry.terraform.io does not have a provider named
registry.terraform.io/hashicorp/namecheap

https://www.terraform.io/upgrade-guides/0-13.html
look like it's just configuration - testing

ok, so first - it appears this repository must be renamed.
from terraform-provider-namecheap to namecheap
next, you need to register it on https://registry.terraform.io/

There seems to be updated documentation for in-house providers here: https://www.terraform.io/upgrade-guides/0-13.html#in-house-providers . But I wasn't successful in following provided steps. If somebody will be more lucky, please provide your steps. Also would be great if this provided was in general registry so that additional steps were not required to get it working

I didn't know Terraform 0.13 changes how providers are distributed, but I can see about adding it to the official registry. I doubt I'll get to doing that this week. I don't think the repository needs renamed - terraform-provider-zzzz has been the standard for years.

Any updates @adamdecaf? 🤓

As a reference, here is link to another extension I use. They had to publish the extension to get it working with tf 13 -
Please let us know if you want to handle this (I would recommend since you are the author) or if you want someone else to own this deployment type.
https://github.com/banzaicloud/terraform-provider-k8s/issues/6

I was able to get this working by "faking" the hashicorp registry in the ~/.terraform.d/plugins directory
Instead of using the target directory/instructions in the readme I did (on my mac):
mkdir -p ~/.terraform.d/plugins/registry.terraform.io/hashicorp/namecheap/1.5.0/darwin_amd64

curl -L https://github.com/adamdecaf/terraform-provider-namecheap/releases/download/1.5.0/terraform-provider-namecheap-osx-amd64 > ~/.terraform.d/plugins/registry.terraform.io/hashicorp/namecheap/1.5.0/darwin_amd64/terraform-provider-namecheap_v1.5.0

chmod +x ~/.terraform.d/plugins/registry.terraform.io/hashicorp/namecheap/1.5.0/darwin_amd64/terraform-provider-namecheap_v1.5.0

Add the provider to terraform in <root_dir>/versions.tf:
  required_version = ">= 0.13"
  required_providers {
    namecheap = {
      version  = "~> 1.5.0"
    }
  }
}

Instantiate the provider in <root_dir>/main.tf:
  username = var.namecheap_username
  api_user = var.namecheap_api_user
  token    = var.namecheap_api_token
  ip       = var.namecheap_ip_address
}```

Create the resource:
```resource "namecheap_record" "my_record" {
  name    = var.name
  domain  = var.domain
  address = var.address
  type    = var.type
}```

@dcordz you can use provider shims: https://numtide.com/articles/generate-terraform-provider-shim/
Unfortunately current version of the shim generator won't work with this repository (expects release files to be either in a .tar.gz or .zip archive), but you can easily create a shim bash script by changing the example from the article a bit and check it in with the rest of the terraform code.

@dcordz @draganm These are both good solutions, but they don't seem to work with Terraform Cloud

I'm going to look at updating this provider over the weekend.

Hi, I was only able to use the namecheap provider using @dcordz trick.
Perhaps add this trick to the Readme instructions.
Thanks for all your hard work.

I can confirm the trick worked for me too. It should be added to the instructions.
With that said, I got tired of registering my IP with namecheap for API Access, and switched to the hertzner DNS. the terraform provider works like a charm and it is registered on hashycorp repo.

Here is another solution:
Specify provider
Create versions.tf:
terraform {
  required_providers {
    namecheap = {
      source  = "registry.local/github/namecheap"
      version = "1.5.0"
    }
  }
}

Install module to new local registry folder
Now install the module to `` with:
wget -O ~/.terraform.d/plugins/registry.local/github/namecheap_v1.5.0 https://github.com/adamdecaf/terraform-provider-namecheap/releases/download/1.5.0/terraform-provider-namecheap-linux-amd64

Update state
For the state to use the correct module run:
terraform state replace-provider 'registry.terraform.io/-/namecheap' 'registry.local/github/namecheap'

If you had the hack from @dcordz applied run:
terraform state replace-provider 'registry.terraform.io/hashicorp/namecheap' 'registry.local/github/namecheap'

More info
https://www.terraform.io/upgrade-guides/0-13.html#in-house-providers


Mismatch in compileSdkVersion in Readme.

Make sure you set the compileSdkVersion in your "android/app/build.gradle" file to 28:
android {
 compileSdkVersion 29

 ...
}

@ThinkDigitalSoftware thank you very much for pointing this out. We have updated the "README.md" file to:
"
Make sure you set the compileSdkVersion in your "android/app/build.gradle" file to 28 or higher:
android {
 compileSdkVersion 28

 ...
}

"


Naming issue  - sonar rule violation

Sonar issue is on:
public class AbstractUserUc extends AbstractUc {
Reason:
If a superclass has Uc.*Impl as suffix, then the subclass should also have Uc.*Impl as suffix.
Non-abstract use-case classes must begin with Uc, end with Impl and implement an interface with the same name except the suffix Impl.
Rule
This rule checks that non-abstract classes inheriting from AbstractUc begin with Uc, end with Impl and implement an interface with the same name except the suffix Impl.
Hint:
public class UcAbstractUserImpl extends AbstractUc implements UcUser {}

My first question is why CobiGen ever invented these abstract classes. Seems overengineered and we could question if we simplify this. I see that we better need to align and design the templates together with the stacks. Is CobiGen Team the owner and maintainer of the templates for devon4j or is devon4j team responsible? Maybe both but currently this is unclear.
We can save a minimal redundancy here such as e.g. injection of DAO/Repo but IMHO it is not worth the extra abstract class in between.
Second in case we want to keep this abstract use-case we have two options:

change the naming as suggested by @sujith-mn - see https://github.com/devonfw/cobigen/blob/master/cobigen-templates/templates-devon4j/src/main/templates/crud_java_server_app_complex/templates/java/%24{variables.rootPackage}/%24{variables.component}/logic/base/usecase/Abstract%24{variables.entityName}Uc.java.ftl#L11 and https://github.com/devonfw/cobigen/blob/master/cobigen-templates/templates-devon4j/src/main/templates/crud_java_server_app_complex/templates/java/%24{variables.rootPackage}/%24{variables.component}/logic/impl/usecase/UcManage%24{variables.entityName}Impl.java.ftl#L28, etc.
change sonar-devon4j-plugin to be compliant - My actual goal was that use-cases are properly named and carry the Uc in the name so it becomes clear that it is a use-case, but AbstractUserUc is perfectly fine to me so I see that the rule is simply implementd inappropriate: https://github.com/devonfw/sonar-devon4j-plugin/blob/master/src/main/java/com/devonfw/ide/sonarqube/common/impl/check/naming/DevonNamingConventionClassExtendsClassUcImplCheck.java - so after reading this I get the impression that AbstractUserUc is missing the abstract keyword and that is all that is wrong here. Would you agree?

This stuff could be really old generated code which remains functional but might have been changed from code architecture in newest versions of devon4j.
Feel free to change it accordingly. We don't want to be the owners of the templates. Also devon4ng templates have never been maintained by the cobigen team.
I think it's time to get rid of the mono templates project to distribute code ownership for template snippets.

So the easy things first:

Robert or whoever is affected by this issue can simply add abstract keyword to AbstractUserUc and the issue is resolved.
I will change the CobiGen Template to have this missing abstract keyword included and the issue is also fixed. Will surely take some time to release those changes...

IMHO done, hence I am closing. In case I am missing anything, please reopen with explanation.


Call Popup from objc

Hi, I have been programming in swift quite recently, can you help me? I don't use SwiftUI when building screens, how can I call your popup from the objc function?

I copied your popups into the project into separate classes, the question remains, how do I call them on the screen)

Hello @ilia1103, I'd suggest you use a UIKit native solution for UIKit project, like this one https://github.com/huri000/SwiftEntryKit. If you still prefer using this library please search for something like https://blog.logrocket.com/how-add-swiftui-uikit-project/. Have a nice day