Python.h not found building python extension on OSX

Following the latest swig\python\README.md directions on Mac from within an anaconda 3.64 virtual environment and got the following error
(Note on: develop 50fd510311)
(python36) bpalmint-31532s:build-osx bpalmint$ cmake -DCMAKE_INSTALL_PREFIX=/Users/$USER/helics_install -DBUILD_PYTHON=ON -DBUILD_SHARED_LIBS=ON -DPYTHON_LIBRARY=$(python-config --prefix)/lib/libpython3.6m.dylib -DPYTHON_INCLUDE_DIR=$(python-config --prefix)/include/python3.6m ../

...

(python36) bpalmint-31532s:build-osx bpalmint$ make clean
(python36) bpalmint-31532s:build-osx bpalmint$ make -j4

...

Scanning dependencies of target _helics
make[2]: *** No rule to make target `/Users/bpalmint/anaconda/lib/libpython3.6m.dylib', needed by `swig/python/_helics.so'.  Stop.
make[2]: *** Waiting for unfinished jobs....
[ 96%] Building C object swig/python/CMakeFiles/_helics.dir/helicsPYTHON_wrap.c.o
/Users/bpalmint/repos/HELICS-src/build-osx/swig/python/helicsPYTHON_wrap.c:149:11: fatal error:
      'Python.h' file not found
# include <Python.h>
          ^~~~~~~~~~
1 error generated.
make[2]: *** [swig/python/CMakeFiles/_helics.dir/helicsPYTHON_wrap.c.o] Error 1
make[1]: *** [swig/python/CMakeFiles/_helics.dir/all] Error 2

...

(python36) bpalmint-31532s:build-osx bpalmint$ make

...

[100%] Building C object swig/python/CMakeFiles/_helics.dir/helicsPYTHON_wrap.c.o
/Users/bpalmint/repos/HELICS-src/build-osx/swig/python/helicsPYTHON_wrap.c:149:11: fatal error:
      'Python.h' file not found
# include <Python.h>
          ^~~~~~~~~~
1 error generated.
make[2]: *** [swig/python/CMakeFiles/_helics.dir/helicsPYTHON_wrap.c.o] Error 1
make[1]: *** [swig/python/CMakeFiles/_helics.dir/all] Error 2
make: *** [all] Error 2
```

@kdheepak  can we close this issue?

I'm waiting for @bpalmintier to confirm this is resolved. I think with the new changes + brew installation steps we should be good. I'll confirm and close by tomorrow.

Closing. Current develop branch works. I also updated the python README.md to fully explain the steps for testing (including starting the broker). See 3952052

Note: Tested via README.md steps, not using brew install

Thanks testing and for making the README.md more thorough. On a related note, I'm going move all documentation to the docs folder along with how to run the examples, since users are more likely to use the website than check the README.md in a folder or on github.

Great idea. Strongly like moving them out of their currently buried position.


Ensure elm-reactor pages viewable on mobile

Adds viewport meta tag, now used by most front end developers by default

Did you test that the index pages actually look okay on mobile devices with this change? Can you share an image if it is good?

Without confirmation that this works, I can't accept the PR


Update CI

BEGINRELEASENOTES

Update CI
ENDRELEASENOTES

Can you add pre-commit and license while you are at it?

@paulgessinger Are you OK with the Apache 2 License?

Build test is waiting for https://github.com/key4hep/key4hep-spack/pull/522 as Acts is unfortunately built without the dd4hep plugin in key4hep atm..
[lreichen@pcphsft121 acts]$ ll /cvmfs/sw-nightlies.hsf.org/key4hep/releases/2023-06-24/x86_64-centos7-gcc12.2.0-opt/acts/23.2.1-rk7msr/include/Acts/
total 42
-rw-r--r--. 1 cvmfs cvmfs 1036 Jun 25 08:46 ActsVersion.hpp
drwxr-sr-x. 2 cvmfs cvmfs   58 Jun 25 08:48 Clusterization
drwxr-sr-x. 2 cvmfs cvmfs  113 Jun 25 08:48 Definitions
drwxr-sr-x. 2 cvmfs cvmfs  217 Jun 25 08:48 Digitization
drwxr-sr-x. 3 cvmfs cvmfs 4096 Jun 25 08:48 EventData
drwxr-sr-x. 3 cvmfs cvmfs 4096 Jun 25 08:48 Geometry
drwxr-sr-x. 3 cvmfs cvmfs  248 Jun 25 08:48 MagneticField
drwxr-sr-x. 3 cvmfs cvmfs 4096 Jun 25 08:48 Material
drwxr-sr-x. 3 cvmfs cvmfs 4096 Jun 25 08:48 Propagator
drwxr-sr-x. 2 cvmfs cvmfs 4096 Jun 25 08:48 Seeding
drwxr-sr-x. 3 cvmfs cvmfs  120 Jun 25 08:48 SpacePointFormation
drwxr-sr-x. 3 cvmfs cvmfs 4096 Jun 25 08:48 Surfaces
drwxr-sr-x. 2 cvmfs cvmfs  153 Jun 25 08:48 TrackFinding
drwxr-sr-x. 3 cvmfs cvmfs  282 Jun 25 08:48 TrackFitting
drwxr-sr-x. 3 cvmfs cvmfs 4096 Jun 25 08:48 Utilities
drwxr-sr-x. 2 cvmfs cvmfs 4096 Jun 25 08:48 Vertexing
drwxr-sr-x. 3 cvmfs cvmfs  183 Jun 25 08:48 Visualization

The other PR is merged but it seems like it's still failing to find the the plugin?

We only expect the nightlies to pass and they do now. It will take until the next release for the other one...

currently waiting for the opendatadetector to become available in the nightlies, it should be there tomorrow. Then we can use it directly in the ci without building it ourselves every time

@Zehvogel I see, where is this built then? I'm wondering if keeping this in sync is really worth it since building it does not take a long time normally.

@Zehvogel I see, where is this built then? I'm wondering if keeping this in sync is really worth it since building it does not take a long time normally.

@paulgessinger Is your question where the ODD is built? We added it to the key4hep-stack. At the moment we build the last tagged version, but we could also add it properly to the key4hep nightlies and have the latest main all the time...


Fixed Broken link relating to open source terms

Pre-Submission Checklist

[x] Your pull request targets the staging branch of FreeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #9011

Description

The change is just in the href attribute of open source terms at the bottom of the page.This fixes the broken link.

:sparkles: :sparkles: LGTM :+1: :sparkles: :sparkles:
:tada: Thanks for contributing @adnrs96 and congratulations on your first PR submission to FreeCodeCamp! :tada:


Fix React 0.14 support when using webpack

This is the best I can do - this leads to a warning at build time (but not an error, because of the try/catch) when using React 0.13 and webpack, but no other problems there as far as I can tell.

This is going to lead to the same problem as #52 again. It's a catch 22. If require('react-dom') exists anywhere in the code, webpack tries to add it as a dependency (this breaks for 0.13 users). If we use the eval hack, webpack won't forcibly add it, so it will work for 0.13 users and 0.14 users who have an operational require function (this is what I'm doing with amdainty). Until 0.14 is released, I'm going to leave the current setup as-is. Once 0.14 is officially out, I'll cut a new minor version and drop 0.13 support since supporting both is a PITA.

I checked with React 0.13 + webpack. webpack detects the try/catch and doesn't emit an error in this case. There is a warning, which is unavoidable, but it doesn't cause problems in the same way that the error does in 0.6.6.
FWIW, the approach we've largely taken w/React-Bootstrap, &c. is to just have a separate pre-release for React 0.14. It's not ideal (especially on that codebase, because it's a massive set of diffs to the tests especially), but it's also not unworkable.

I didn't realize webpack sniffed out try/catch, interesting. I've released the try { require } method in 0.6.9.

Cool. Thanks. The extraneous warning means things are not quite perfect, but I couldn't find a better solution that worked with webpack and both React versions.

BTW, React 0.14 is out now.

I noticed, I'll cut a minor version that drops 0.13.0 support. I don't see a practical reason to support both given 0.13.0 -> 0.14.0 is a trivial upgrade.

@taion<EMAIL_ADDRESS>drops react < 0.14.0 support, so those warnings should go away.

Thanks! Also just nice not to have to try/catch imports, heh.
Although those warnings were actually only present when using React v0.13 with webpack, not when using React v0.14 :D


Translate to Brazilian Portuguese

It would be nice if the site was also available for Brazilian Portuguese, so I'll work on it in the next few days.

We now have Brazilian Portuguese translation, thank you!
https://swr.vercel.app/pt-BR


TinyIoC: Fix missing XML documentation

I recently did some work in a project where the assembly including TinyIoC built XML documentation, and they had enabled 'Treat warning as errors', so TinyIoC caused compile errors out of the box.
This PR fixes this.

Any plans on getting this merged? :)
As a workaround I'm adding some pragma statements to the file in the project I'm currently working on.
#pragma warning disable 1574, 1591, 1711, 1712

Can you fix the merge conflicts and we'll accept this pr with the documentation changes.


Fix menu items that trigger secondary interface missing ellipsis

This PR fixes #80347 where menu items that trigger a secondary interface (such as a dialog) do not have an ellipsis on their menu items.

Could you amend the commit message to be more explicit? The PR title is good, the commit should use the same title (and can include "Fixes #80347" in the body of the commit message, not in the title).

I have amended the commit with the requested changes. Let me know if there are any other things that need to be added.

I'm new to git. How would I rebase because there seems to be a merge conflict in scene_tree_dock.cpp?

I use Visual Studio Code. I have tried resolving the conflict via the UI but it doesn't seem to be working as expected as it requires me to make another commit which might not look good on the git history.

@jcovin293 While I'm not sure how it would create a new commit, but you can fix that after the fact by doing an interactive rebase and squashing your commits together with the fixup option.

You accidentally closed your PR by resetting the branch, if you push to the branch again we can reopen

I have pushed a new commit. Do I need to do something to reopen it or is it on your end?

Thanks! And congrats for your first merged Godot contribution :tada:


Update PMTiles metadata

It seems it's not possible to easily update the metadata of a PMTiles file using the -n, -N and -A flags. It is possible to use tile-join and create a copy of the dataset with updated metadata, but this is not efficient since it will then need to decode and re-encode all features. Also, the sqlite3 approach as suggested here does not work for PMTiles.
Any suggestions?

This wouldn't belong in tippecanoe, I have an open issue for this in the pmtiles cli here: https://github.com/protomaps/go-pmtiles/issues/63
would that be a viable solution?

Yes, that would be a good solution. Thanks for pointing it out, I will close this issue.

Yes, that would be a good solution. Thanks for pointing it out, I will close this issue.


plam: Make functional dependency bidirectional

This doesn't fix plam $ \x -> x, but it probably does
fix some other corner cases.

#2


Feature Request: Events to Specific Clients

I'd like to send events to different tablets  - ex. send a notification to tablet A, set page to 4 on tablet B, play sound on tablet C.  Right now the events send to every tablet.

Add an identifier to to the config and send extra parameter with the event to check it against that identifier.

I’m doing this with my setup. I’ll try to share some code later today. Tag me in a reply if I haven’t posted anything after a couple days in case I forget 🙂

OK here's some example code:. It's a little messy and past-due for some cleanup but it should get you started.
For events that I want to only apply to certain tablets, I created a checkTarget function that gets called in each event:
events: [
    {
      command: "screen_off",
      action: function(e) {
        if (typeof fully !== undefined) {
          if (checkTarget(e)) {
            fully.startScreensaver();
          }
        }
      }
    },
    {
      command: "screen_on",
      action: function(e) {
        if (checkTarget(e)) {
          if (typeof fully !== undefined) {
            fully.stopScreensaver();
            fully.bringToForeground();
          }
        }
      }
    }
]

checkTarget is defined as:
function checkTarget(event_data) {
  if (event_data.hasOwnProperty("target")) {
    if (typeof fully !== "undefined") {
      if (typeof event_data.target === "string") {
        if (devices.hasOwnProperty(event_data.target)) {
          if (devices[event_data.target].indexOf(deviceId) > -1) {
            return true;
          }
        }
      }
      if (event_data.target instanceof Array) {
        for (var i = 0; i < event_data.target.length; i++) {
          if (devices.hasOwnProperty(event_data.target[i])) {
            if (devices[event_data.target[i]].indexOf(deviceId) > -1) {
              return true;
            }
          }
        }
      }
    }
    return false;
  }
  return true;
}

(man I should refactor and clean that up...)
It allows me to pass either a string or array as target in the event data from Home Assistant. If no target is specified, it defaults to all tablets.
Names that can be passed from HomeAssistant are defined in config.js as follows:
// Map Device IDs to friendly IDs to call from Home Assistant
var devices = {
  living_room: [device_ids.living_room],
  master_bedroom: [device_ids.master_bedroom],
  nursery: [device_ids.nursery],
  test: [device_ids.living_room, device_ids.master_bedroom],
};

So I can fire a tileboard event from HomeAssistant with the following event_data
{
  'command':'screen_on',
  'target':'living_room'
}

to turn on the living room tablet.
{
  'command':'screen_on',
  'target':'test'
}

to turn on the living room and master bedroom tablets.
{
  'command':'screen_on',
  'target':['master_bedroom','nursery']
}

to turn on the master bedroom and nursery tablets
etc.

@cgarwood - thanks for the quick reply and example.  The only thing I can’t figure out is how each tablet has a unique name.  Am I setting that in the tablet OS (ex nursery)?

Yeah, in my case I’m using Fully Kiosk Browser. It’s javascriot interface has a few functions that can return different device IDs

Got it, thanks:
https://www.ozerov.de/fully-kiosk-browser/#websiteintegration
You've been extremely helpful.


Use volatile read in steal

Since steal reads from memory that might be concurrently modified, it's better to use ptr::read_volatile than ptr::read.
A similar situation in seqlock: https://github.com/Amanieu/seqlock/blob/bccfed2f6638aeb86c1e3794d285f82153c4e487/src/lib.rs#L147
See also: https://github.com/rust-lang/rust/pull/52391

Closing in favor of #15


Minification breaks extensions from a package

while using this package which is perfect, thank you by the way, I seem to have a little problem:
when I use https://github.com/RobinRadic/blade-extensions to extend my blade directives they don;t get compiled in the process, I can't find the problem myself, or even it's a bug or not. I was thinking you could take a look at this if you have time

You need to clear out the compiled blade files.

I actually did that, a few times :-)

Looks like a bug in blade-extensions. They're being naughty with services providers.

I extended blade myself without blade extensions package and again my extensions doesn't work with HTMLMin

Probably because your extending in register instead of boot.

Example of a service provier that works just fine with htmlmin: https://github.com/BootstrapCMS/CMS/blob/master/app/Providers/AppServiceProvider.php.

Having the same problem here with custom directives. It seems that de Blade instance is overwritten with a custom one, losing all directives.

Surely just making sure our service provider is registered before other ones that define directives will work?

In my case, the directives are defined in AppServerProvider::boot and the HTMLMin service provider is added in config/app.php .

Is that service provider registered after the htmlmin one?


Revert new plugin addition

Description
Updating the docs (wiki) change-log to revert the addition of the UTRannotation plugin.
Use case
The new UTRannotation plugin won't be added into 107 after all, so the docs submodule needed to be updated to remove the mention of this plugin.
Benefits
Updated wiki
Possible Drawbacks
None
Testing
note to submitters and reviewers: documentation-only changes may reflect
changes in other repos that can result in new or different output from
REST endpoints. In turn, these may require new tests or changes to existing tests.
Have you added/modified unit tests to test the changes?
If so, do the tests pass/fail?
Have you run the entire test suite and no regression was detected?
Changelog
Are you changing the functionality of an endpoint? If so, please give a one line summary for the public facing changelog.
eg. [/xenobiology/orthologs] Added the ability to look up orthologs and paralogs from klingons and andorians

Coverage remained the same at 44.312% when pulling 4bc076070d24a14d4da1eadaa873fbeab54f9ae7 on fix/wiki_update_107 into 65aa9cd3ce88f62f986daf3bd60b4cc6448f7799 on release/107.


Set up CI

We need to set up continuous integration builds on this repo. At this moment all it needs to do is check that pull requests build successfully and don't contain dead links (#13)

@dylanPowers i just enabled travis + circleci on this repo.

left to do:

[ ] setup .travis.yml
[ ] setup circle.yml

Autodeploy would be good to have after this. https://github.com/ipfs/website/issues/73#issuecomment-151438980

Given that there are no tests for the website at this point in time I don't see the need for CI. Autodeploy is a much longer story which will be tackled at a later point.


Prepare for integration with vere

@midlyx-hatrys will work on preparing seguro for integration with vere. We discussed the following items offline:

[ ] Clear the db automatically before/after write benchmark
[ ] Run seguro as a long-lived, listening process that accepts read/write requests and returns responses
[ ] Use the FDBTenant abstraction of FDB to segregate ships' event logs from one another
[ ] Review urbit/urbit#5701's saga interface
[ ] Consider where both ship metadata and ship snapshots should live

@midlyx-hatrys how's it going with this? Any questions?

Oh good, I was just wondering where to do questions, let's do them right here. :)
All I got to do up to now with Seguro was getting familiar with the sources and some experimentation; most of the following are observations and not questions as such.  Would appreciate if you could confirm those and/or clarify the historical motivations.

Fragment encoding

I've dumped my planet's lmdb to get some idea about typical event sizes.  It seems that the overwhelming majority of events are downright tiny, as in sub-100 bytes (which would make sense for your usual Ames pokes, timer firings etc.).  Which raises the question: why does Seguro fragment every event, especially in light of its seeming effort to minimize storage overhead (like the clever bit-banging to compress fragment ids, which also happens to blithely assume little-endian host, which probably only bothers me because I'm old, but).  Might as well just write small (sub-10K) events as-is, with keys sans fragment number so they can be detected right away by the key length?
Why prepend a header to the first fragment's data?  Could append the total number of fragments to its key instead, which would arguably be simpler and also save the extra temp buffer building in add_event_set_transactions().

The key & fragment header formats as described in the grant text and PROPOSAL.md  differ from what the code actually does (those ASCII colon characters, for instance).  Should I update the code or the docs?
Re: tenants: tenant support is still considered experimental in FDB.  The only benefit of tenants for Seguro that I can see is not having to include ship patp in event keys, i.e. some space savings (which is not nothing in itself, of course).  There's no added security (FDB does not have any auth or the like anyway), and the transaction isolation feature does not seem very relevant (except for timeouts, maybe?).  What am I missing here?

I've not digested the saga interface properly yet; does it allow shared memory access?  Having to stream event data between (local) Vere and Seguro would be unfortunate.
Also, how would you feel about a Rust rewrite, while Seguro is still small?  I'm not actually sure I'll be able to pull that off in a timely fashion anyway (it's sort of a speculative background task now), but assuming me and dear ChatGPT pull it off?  Feels sort of bad to inflict a new piece of systems software on the world in 2023 that is not written in a memory-safe language (but no biggie as far as I'm concerned, to be clear); also writing an async server in Rust would be nicer than in C.

Great questions.

Fragment encoding?

Little-endian won, see well-regarded "blogger" posts on this.
I'm open to further discussion on the fragmentation scheme, but they could be borderline bikeshed territory. cc @ashelkovnykov @joemfb

Bad docs?

Yes, thank you for noting this again; I was aware of the mismatch. Please update the docs.

Tenants?

Ah ok, good to know. I hadn't looked into FDBTenant in detail, but if the feature isn't worth the hassle, we don't need to use it.
I do wonder what they mean by "experimental" though. Is it planned for stable release?
If FDBTenant is similar to a SQL schema (or database, as some implementations call it), it seemed like a reasonable feature to isolate ship logs from one another-- that's all.

saga?

I saw you asked about who's implementing epoc and saga. I'm currently working epoc, but not saga. Perhaps saga will be next, but I'm not sure. Don't spend too much time reading it.

Rust rewrite?

This would be awesome. I think there are a ton of advantages. Do give it a whirl!

@midlyx-hatrys

"fragments every event" I don't know what you mean by "fragments every event". Do you mean that it uses the FragmentedEvent structure? Any event that's under 10,000 bytes in size has its payload directly stored. Yes, it will have a header prepended, but I can't think of a way around this. Even if you had some sort of union going here, you'd still need some way to determine that this is a single-fragment event (e.g. a header to say "there is no header").
"key sans fragment number" We use the key without fragment number as a guaranteed first entry. For a sub-10,000 byte event, it's exactly what you're describing. You query the key, get the header and payload, and from the header determine that the payload is the entire event.
"store the # fragments in the key" How would Urbit know the number of fragments into which the event was split?
docs don't match code That was my decision to apply some optimizations to the initial design. I presented Wexpert Systems with both the design as they originally outlined to me, and another version I thought that they would like, leaving the choice up to them. The code is the ultimate truth, and the docs would ideally reflect that.
FDB Tenant system I'm not familiar with this feature of FDB, so I have no preference. Seems like it'd be convenient, but it makes perfect sense to me that a business (referring to C1) might not want to make use of an experimental feature.
saga Not sure what this is - if it was in the original design, I've since forgotten it.
Seguro in Rust Go for it, if there's a FDB Rust interface and you think there's efficiency + ease of use benefits down the line. The C version isn't going anywhere, always there if it's needed or wanted.

Ah right, there is no Rust API for FDB. Pretty much a showstopper there.
On Thu, Apr 6, 2023 at 7:58 PM Alex Shelkovnykov @.***>
wrote:

@midlyx-hatrys https://github.com/midlyx-hatrys

"fragments every event" I don't know what you mean by "fragments
every event". Do you mean that it uses the FragmentedEvent structure?
Any event that's under 10,000 bytes in size has its payload directly
stored. Yes, it will have a header prepended, but I can't think of a way
around this. Even if you had some sort of union going here, you'd still
need some way to determine that this is a single-fragment event (e.g. a
header to say "there is no header").
"key sans fragment number" We use the key without fragment number
as a guaranteed first entry. For a sub-10,000 byte event, it's exactly what
you're describing. You query the key, get the header and payload, and from
the header determine that the payload is the entire event.
"store the # fragments in the key" How would Urbit know the number
of fragments into which the event was split?
docs don't match code That was my decision to apply some
optimizations to the initial design. I presented Wexpert Systems with both
the design as they originally outlined to me, and another version I thought
that they would like, leaving the choice up to them. The code is the
ultimate truth, and the docs would ideally reflect that.
FDB Tenant system I'm not familiar with this feature of FDB, so I
have no preference. Seems like it'd be convenient, but it makes perfect
sense to me that a business (referring to C1) might not want to make use of
an experimental feature.
saga Not sure what this is - if it was in the original design,
I've since forgotten it.
Seguro in Rust Go for it, if there's a FDB Rust interface and you
think there's efficiency + ease of use benefits down the line. The C
version isn't going anywhere, always there if it's needed or wanted.

—
Reply to this email directly, view it on GitHub
https://github.com/wexpertsystems/seguro/issues/3#issuecomment-1499770720,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV2DQREWCKBRFFVIHBCITOLW75KAVANCNFSM6AAAAAAWNJCND4
.
You are receiving this because you authored the thread.Message ID:
@.***>

https://github.com/Clikengo/foundationdb-rs
(does not seem official, not tested it yet, but looks serious, packaged as a crate and all)

Seems risky. Not sure the benefit outweighs the downsides. We should move
ahead with our existing codebase, in my opinion.
On Fri, Apr 7, 2023 at 8:57 AM midlyx-hatrys @.***>
wrote:

https://github.com/Clikengo/foundationdb-rs
(does not seem official, not tested it yet, but looks serious, packaged as
a crate and all)
—
Reply to this email directly, view it on GitHub
https://github.com/wexpertsystems/seguro/issues/3#issuecomment-1500265421,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV2DQRAXBQFMR3AOZWJLW4DXAAFKLANCNFSM6AAAAAAWNJCND4
.
You are receiving this because you authored the thread.Message ID:
@.***>

So let's see what I need to do (not sure yet how exactly this maps to a proper phase 3 proposal, but it probably should at least inform it):
Innards

The existing "generic" FDB layer code is sync, but should be async to properly utilize FDB.  Seguro already has a working async FDB layer (on the write path), but only for benchmarking purposes
Events must be per-ship, whether by way of prefixing keys with patp or using per-patp tenants.  What about fake or testnet ships?
FDB transactions are overkill for the ship event logging use-case -- events are totally separated by definition, which means that it does not matter at which point a transaction (which are effectively DB snapshots) is created.  Currently transactions are created too early, which has 2 problems:

Increased risk of transactions timing out by the time they are committed, especially under load
Unfriendliness to debugging (with gdb, that is), for the same reason of transactions timing out 5s after they are created -- if you put a breakpoint between creating a transaction and committing it, oops
Basically every transaction should be created, filled-in, and committed in one logical operation, i.e. totally abstracted out

Seguro <-> Vere interface

Decide on the desired deployment use-case: does the Seguro service always run on the same machine as the ships that use it, or should it permit remote usage?  This has implications on what the interface ends up being like, i.e. is event data streamed to/from Seguro or we can use shared memory
Spec a protocol.  It obviously needs versioning, but beyond that I have no idea: HTTP-based or just plain sockets (would have to use plain sockets to pass shared memory descriptors in any case)?  Auth or no auth?  Etc., etc.

Nice, good thoughts here. I think streaming makes sense, and auth can be a
feature left for the future.
On Mon, Apr 17, 2023 at 7:48 AM midlyx-hatrys @.***>
wrote:

So let's see what I need to do (not sure yet how exactly this maps to a
proper phase 3 proposal, but it probably should at least inform it):
Innards

The existing "generic" FDB layer code is sync, but should be async
to properly utilize FDB. Seguro already has a working async FDB layer (on
the write path), but only for benchmarking purposes
Events must be per-ship, whether by way of prefixing keys with patp
or using per-patp tenants. What about fake or testnet ships?
FDB transactions are overkill for the ship event logging use-case --
events are totally separated by definition, which means that it does not
matter at which point a transaction (which are effectively DB snapshots) is
created. Currently transactions are created too early, which has 2
problems:

Increased risk of transactions timing out by the time they are
committed, especially under load
Unfriendliness to debugging (with gdb, that is), for the same
reason of transactions timing out 5s after they are created -- if you put a
breakpoint between creating a transaction and committing it, oops
Basically every transaction should be created, filled-in, and
committed in one logical operation, i.e. totally abstracted out

Seguro <-> Vere interface

Decide on the desired deployment use-case: does the Seguro service
always run on the same machine as the ships that use it, or should it
permit remote usage? This has implications on what the interface ends up
being like, i.e. is event data streamed to/from Seguro or we can use shared
memory
Spec a protocol. It obviously needs versioning, but beyond that I
have no idea: HTTP-based or just plain sockets (would have to use plain
sockets to pass shared memory descriptors in any case)? Auth or no auth?
Etc., etc.

—
Reply to this email directly, view it on GitHub
https://github.com/wexpertsystems/seguro/issues/3#issuecomment-1511191917,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV2DQRFR5IDLF474EXTP4ZTXBUUXXANCNFSM6AAAAAAWNJCND4
.
You are receiving this because you authored the thread.Message ID:
@.***>


OrderBy ignored when doing leftJoinAndSelect

Describe the bug
When using the query builder, and doing a leftJoinAndSelect followed by a orderBy, the order is not taken into account (seems like it's then ordered by ids instead)
Stack trace
// No stack trace, just a bad result

To Reproduce
Steps to reproduce the behavior:

Create a QueryBuilder
Do a left join and select with it
Add an orderBy clause
Get the result list

Here's a reproduction repo
Expected behavior
When doing an orderby, the order of the resulting list should be the same, whether there is a join or not.
Additional context
The current workaround for this issue is to use the sort method, but it can be costly for long lists
Versions

Dependency
Version

node
14.15

typescript
4.1.2

mikro-orm
4.3.3

your-driver
postgresql

Interesting, another issue there is that .leftJoinAndSelect('b', 'b') is not populating the b property - that is because of the same table and alias name apparently, as .leftJoinAndSelect('b', 'b0') fixes that particular problem.

Well that's two birds with one stone for you :)

As always, thank your very much for the excellent work you put in this awesome ORM :+1:


Issues about Citation Key generation of Chinese articles

I'd like to make the citation key shorter to be the same as the Google Scholar flavor.
@article{bush1945we,
  title={As we may think},
  author={Bush, Vannevar and others},
  journal={The atlantic monthly},
  volume={176},
  number={1},
  pages={101--108},
  year={1945}
}

After setting the Citation key format as [auth:lower][year][veryshorttitle:lower], it works well on English articles but not the Chinese ones. The latter of which citation key is still too long.
I try to use jieba (with jieba filter in citekey patterns enabled) to do the job but still in vain. And the following document seems kind of outdated.

jieba: word segmentation for Chinese items. Uses substantial memory; must be enabled under Preferences -> Better BibTeX -> Advanced -> Citekeys

There is an extra issue I want to report. This article in my library of which the title is 信息茧房研究综述, while the automatically generated citation key is zhu2021xinxichongfangyanjiuzongshu which is not correct. Let me explain it further. 信 corresponds to xin, 息 to xi, but there is no such chong pronunciation of 茧 (should be jian instead).

@FDUZS try the syntax from this post [Auth][Title:select=1,1:nopunct:split-ideographs:select=1,3][year] to get shorter titles.

but there is no such chong pronunciation …

this is incorrect. e.g. 虫/蟲 is transliterated as chong in PRC pinyin.

… of 茧 (should be jian instead)

That jieba picks the very rare pronunciation variant chong for 茧 instead of the more widely used jian is pretty much a bug there, you should open an issue with them.

@duncdrum thanks for answering.

this is incorrect. e.g. 虫/蟲 is transliterated as chong in PRC pinyin.

I may make myself misunderstood. what I mean is chong does not correspond to the 茧 character.

I have made some tests to see what role of these filter plays in citation key generation respectively. and my final (maybe) format is [auth:lower][year][Title:split-ideographs:nopunctordash:skipwords:select=1,3:lower].
though it's still like a black box to me, some implications may be made:

Title works just like a charm compared to title, and I can find any document about it, or am I just missing sth?
:lower filter does not work with Chinese articles when using Title
the order of filter matters (?)
multiple select filters can work with English articles but only one with Chinese ones (?)

well, that's all for now for me.
btw, which jieba library does this extension use so I can file an issue with them.

Title works just like a charm compared to title, and I can't find any document about it, or am I just missing sth?

https://retorque.re/zotero-better-bibtex/citing/#direct-access-to-unprocessed-fields

:lower filter does not work with Chinese articles when using Title

I don't know Chinese; I don't know what it means to lowercase such characters.

the order of filter matters (?)

Correct, but I don't see how that could be different. You pass data from one filter to another.

multiple select filters can work with English articles but only one with Chinese ones (?)

most filters just don't know about Chinese characters. lower for example just uses the javascript toLowerCase function.

well, that's all for now for me. btw, which jieba library does this extension use so I can file an issue with them.

https://github.com/ooooevan/jieba

@retorquere thanks! I did miss the Title thing.

You pass data from one filter to another.

I get it. It's like the pipeline in bash.

what it means to lowercase such characters.

The widely used Chinese input method is Pinyin. Like the example above, the Pinyin (without tones) of 信 息 茧 房 is Xin Xi Jian Fang respectively. To lowercase Pinyin, I think there will be no differences with English words.
Speaking of this, with the citation key format remaining the same ([auth:lower][year][Title:split-ideographs:nopunctordash:skipwords:select=1,3:lower]) and the Force citation key to plain text setting unchecked, the full citation key is zhu2021信息茧. If checked (which is the default option), it will be converted to zhu2021XinXiChong automatically and it's partly wrong as I said. So, maybe it's related to this setting?
More interestingly, even the setting is unchecked, the former part of the key is zhu (which is the Pinyin of 朱, a Chinese surname) instead of 朱. After substituting auth with Auth, when unchecked, the former part of the key is 朱; but then, even with that setting checked and [Auth:lower] set, it will still be uppercase Zhu. Could this relate to the difference between auth and Auth, title and Title?
To summarize, with Auth or Title, the lower filter will fail; while with title, the split-ideographs will fail; and there may be some problems with the Force citation key to plain text functionality if as described above.

The widely used Chinese input method is Pinyin. Like the example above, the Pinyin (without tones) of 信 息 茧 房 is Xin Xi Jian Fang respectively. To lowercase Pinyin, I think there will be no differences with English words.

Then Title:fold=chinese:lower might do what you need. For no other reason than that it was requested first, the default is japanese if the language field is not set on the item, but if the item has chinese as its language (or some forms like zh which are also recognized), Title:fold should do it.

Speaking of this, with the citation key format remaining the same ([auth:lower][year][Title:split-ideographs:nopunctordash:skipwords:select=1,3:lower]) and the Force citation key to plain text setting unchecked, the full citation key is zhu2021信息茧. If checked (which is the default option), it will be converted to zhu2021XinXiChong automatically and it's partly wrong as I said. So, maybe it's related to this setting?

Which "this" do you mean? But by and large, I won't be able to say much useful about transliteration. I use libraries and trust people like @duncdrum who do know Chinese.

More interestingly, even the setting is unchecked, the former part of the key is zhu (which is the Pinyin of 朱, a Chinese surname) instead of 朱. After substituting auth with Auth, when unchecked, the former part of the key is 朱; but then, even with that setting checked and [Auth:lower] set, it will still be uppercase Zhu. Could this relate to the difference between auth and Auth, title and Title?

More likely related to fold defaulting to jp. The only difference between auth and Auth is that the former has the default transliteration applied and non-ascii removed.

My final citation key format is [auth:lower][year][Title:fold=chinese:lower:nopunctordash:select=1,3], and the generated key will be like bush1996aswemay & zhu2021xinxichong which perfectly suits my need.
Thanks for your help and I'll close this issue.


Re-enable cylc testing in skylab-dev in GitHub actions

Summary
Unpin py-jinia, re-enable cylc variant for skylab-dev template, build both skylab-dev and unified-dev in GitHub actions on Ubuntu with GCC.
Testing

[x] CI

Applications affected
n/a
Systems affected
n/a
Dependencies
n/a
Issue(s) addressed
Resolves https://github.com/JCSDA/spack-stack/issues/1162
Checklist

[x] This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
[x] These changes have been tested on the affected systems and applications.
[ ] All dependency PRs/issues have been resolved and this PR can be merged.

Thanks for reviewing the PR @AlexanderRichert-NOAA - glad to see that we don't need to pin py-jinja at all.

Yeah- I had left it since it's one of those build deps that pops up all over the place so it might need to be pinned again in the future, but I think commenting it is the way to go.

Yeah- I had left it since it's one of those build deps that pops up all over the place so it might need to be pinned again in the future, but I think commenting it is the way to go.

Rahul is also checking whether 3.0.3 works with wxflow - if it does, we can go back to that version, too.


Connections not returned to or removed from the pool may lead to dead pool

This ticket is related to the following listmonk issue. I am currently investigating the  file pool.go. I suspect there may be a deadlock preventing unresponsive connections from being removed from the pool, and that as a result after dying one by one (because the SMTP Server is overloaded and cannot send messages fast enough) all the connections in the pool are actually dead ones.
This is the only way I can explain the behavior since looking at the source code, if connections were removed from the pool, a new connection would be created (which I know does not happen since the SMTP Server no longer receives any incoming connection). So far my investigations have not led me to an obvious suspect but I feel the solution lies somewhere in this file.
I will also look into whether or not there are differences with the way Linux and FreeBSD and handle locks that may lead to deadlocks in FreeBSD that wouldn't occur on Linux.

I am currently investigating the file pool.go. I suspect there may be a deadlock preventing unresponsive connections from being removed from the pool

Were you able to figure this out?


"File" errors in setup.py

@jvamvas please check the forks of @SebCorbin and @kakky0312 - there seems to be an issue in setup.py

I think this has already been fixed.


Hosting on Vercel

Hi umami community,
I tried to host umami on Vercel.
I followed this setup routine:
1.Create an account on Vercel.
2.From the dashboard page click Import Project.
3.Enter https://github.com/mikecao/umami as the Git repository. This will fork the project on your Github account.
4.Add the required environment variables DATABASE_URL and HASH_SALT. These should be the same values as your .env configuration file.
5.Deploy and visit your application at .vercel.app.
6.Follow the Getting started guide starting from Login.
It deployed successfully. But after logging in, I got the following error:
{"error": {"code": "502", "message": "An error occurred with this application."}}
I have not set up a database so far.
Any thoughts?

I think you answered it yourself already, try setting up a database by following the guide here 😄

Closing as answered.


Return out value instead of querying from dictionary again

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@heku Thanks for submitting this PR and sorry for taking so long to get to it. These look like good changes to make, but we have recently consolidated the configuration code into the https://github.com/aspnet/Extensions repo. Unfortunately, it is not trivial to move PRs over to another repo.  Since this PR seems complete we would be happy to copy it over and commit it, but you will not show up as the author in git. Alternately, if you recreate the PR on the new repo we will merge it there and you will be shown as the author.

@ajcvickers Thanks, it's a simple change, you feel free to copy it over and commit it.

This has now been merged in the Extensions repo: https://github.com/aspnet/Extensions/pull/603


Enable changing Faraday Adapter

Hey there,
I think it would be really helpful to be able to change the Faraday adapter. Willing to make a PR but don't know exactly how you'd want it implemented. Care to discuss?

I'll look into this for a near future release. Chances are it could probably be added as an additional kwarg to the client constructor.

I think I can make it (I did it in another gem).
I know, it's pretty old issue, but I have the question: as I see, you can change an adapter for existing connection:
Twitch::Client::CONNECTION.adapter :excon
# => Faraday::Adapter::Excon

Is it resolves the issue for you or do we still need for some options in Twitch?

Also as a note, you can setup Faraday.default_adapter = :excon anywhere (before lib initialization).
I'm going to close this issue for now because I see solutions for the problem.
If you want something else related to this, different approach — feel free to write.


Implement Distilbert Data Parallel on n300

[ ] Adapt the distilbert data parallel pipeline to function based on the available machine.

The data parallel implementation for distilbert is completed. Corresponding PR #13158

The pipeline for the distilbert data parallel is enabled, but the test fails when devices are initialized using fixtures from the conftest files. Previously, using the mesh_device fixture caused the test to hang on the n150 machine, while the device fixture caused it to hang on n300.
Currently, when both fixtures are used, the test runs twice: one passes, and the other fails while closing the device(here).
We are actively debugging this issue. The next step is to use the all_device fixture and verify the model.
cc: @boris-drazic @yieldthought

the pytest fixture for multi_device has been added to the conftest.py file due to compatibility issues
when using device and mesh_device on the n300 and n150 devices.
Corresponding PR https://github.com/tenstorrent/tt-metal/pull/13158


Fix a misspelled function in Timber/Admin

Coverage remained the same at 97.326% when pulling 152ad4abdd9e63ff63c6fd60419b7f1fdc0b8ad5 on alexandernanberg:master into 8df2437dc228b8fdaa3a042612da15837f0a2bd8 on timber:master.

Current coverage is 97.60% (diff: 100%)

Merging #1285 into master will not change coverage

@@             master      #1285   diff @@
==========================================
  Files            45         45
  Lines          3262       3262
  Methods         439        439
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3184       3184
  Misses           78         78
  Partials          0          0

Powered by Codecov. Last update 8df2437...152ad4a

Whoops! Thanks @alexandernanberg !


This is a simple change to check if there is a valid Address before t…

…rying to run the Web Hook.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

So it seems that it doesn't really check if the URL is valid, but only looks for empty string. Does it cause en exception if the string is empty? Maybe there is a more general way of handling bad URLs, which presumably throw when trying to new the Uri() object.

It does throw an exception #2392  has this detail.
RegisterServices() at C:\Kudu Files\Private\src\master\Kudu.Services.Web\App_Start\NinjectServices.cs:194
System.UriFormatException: Invalid URI: The URI is empty.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString)
at Kudu.Core.Hooks.WebHooksManager.CreateHttpClient(WebHook webHook)
at Kudu.Core.Hooks.WebHooksManager.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Kudu.Core.Hooks.WebHooksManager.d__19.MoveNext()
I opened two issues. 1) Consider validation in the UI before creating the local JSON and 2) Have some protection here to see if it is valid as well.
Will have more time soon to see if I can fix it differently in either scenario.

Ok, but with your fix, it no longer throw then (API returns 200), and instead just logs the error? From an API standpoint, it seems wrong to have the user pass an invalid payload (empty url), and not have that result in an API error.
If our UI makes it too easy to forget the URL, I'd rather just invest in fixing that client side, and leave the API alone.
Does that make sense?

That makes sense. The only issue is that this exception does shut down Kudu it seems. I will do some more testing on that front.

Really, it causes the Kudu process to crash? That's not good, and is surprising to me.

I wasn't able to repro this. If I go to WebHooks UI and click Add Url without entering a URL, the Add happens (which is a bit bogus), but it doesn't crash. Or maybe it crashes later when the hook fires?


remove assert check for canonical smiles

Actually this assert fails when mol is kekulized, but it is acceptable behavior that canonical smiles and Chem.MolToSmiles(mol) is different for kekulized mol

Codecov Report

Merging #268 into master will decrease coverage by 6.89%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #268     +/-   ##
=========================================
- Coverage   89.13%   82.24%   -6.9%
=========================================
  Files         116      116
  Lines        5836     5834      -2
=========================================
- Hits         5202     4798    -404
- Misses        634     1036    +402


Ignore late initialize for scaling_config in NodeGroup resource

Description of your changes
Ignores late initialize for scaling_config field in NodeGroup.eks resource.
Fixes https://github.com/crossplane-contrib/provider-upjet-aws/issues/1469
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] ~Added backport release-x.y labels to auto-backport this PR if necessary.~

How has this code been tested
Manually tested with index.docker.io/turkenf/provider-aws:v1.13.0-rc.0.1.gf7fd1d8ba

/test-examples="examples/eks/v1beta2/nodegroup.yaml"

/test-examples="examples/eks/v1beta2/nodegroup-test.yaml"

@turkenf can you update the example and run uptest ?

@haarchri added an example to test: https://github.com/crossplane-contrib/provider-upjet-aws/actions/runs/10577743641

@mergenci @sergenyalcin, as we discussed offline, moving the field to the ConditionalIgnoredFields works.
Uptest run: https://github.com/crossplane-contrib/provider-upjet-aws/actions/runs/10596629590


document view reentrancy

Documents the risk described in https://github.com/spearbit-audits/review-seaport-1.2/issues/27

Codecov Report
Base: 85.56% // Head: 99.20% // Increases project coverage by +13.63% :tada:

Coverage data is based on head (148a920) compared to base (5c40089).
Patch has no changes to coverable lines.

Additional details and impacted files
@@             Coverage Diff             @@
##              1.2     #863       +/-   ##
===========================================
+ Coverage   85.56%   99.20%   +13.63%
===========================================
  Files          52       27       -25
  Lines        3103     1252     -1851
  Branches      414      145      -269
===========================================
- Hits         2655     1242     -1413
+ Misses        446        7      -439
- Partials        2        3        +1

Flag
Coverage Δ

foundry
?

production
99.20% <ø> (ø)

reference
?

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

Impacted Files
Coverage Δ

contracts/lib/Consideration.sol
94.44% <ø> (ø)

contracts/lib/ReentrancyGuard.sol
77.77% <0.00%> (-11.12%)
:arrow_down:

contracts/lib/OrderCombiner.sol
98.72% <0.00%> (-1.28%)
:arrow_down:

contracts/lib/ConsiderationDecoder.sol
99.10% <0.00%> (-0.18%)
:arrow_down:

contracts/lib/CounterManager.sol
100.00% <0.00%> (ø)

contracts/lib/OrderFulfiller.sol
100.00% <0.00%> (ø)

contracts/lib/ZoneInteraction.sol
100.00% <0.00%> (ø)

contracts/helpers/TransferHelper.sol
100.00% <0.00%> (ø)

contracts/lib/CriteriaResolution.sol
100.00% <0.00%> (ø)

contracts/lib/GettersAndDerivers.sol
100.00% <0.00%> (ø)

... and 37 more

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

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


Enable warning and error message localization

Currently warnings and errors are returned as raw English strings. It would be helpful to have a localization mechanism as requested on the ODK Forum.
I think the big decision point is whether to establish warning/error codes so that external clients can manage localization or to manage localization in pyxform. The latter is probably more widely useful.

Related to #581


RC test: Molecule Shapes: Basics 1.2.0-rc.2

@ariel-phet, @kathy-phet, @amanda-phet molecule-shapes-basics/1.2.0-rc.2 is ready for RC testing. April 1st deadline, see https://github.com/phetsims/special-ops/issues/132. Document issues in https://github.com/phetsims/molecule-shapes/issues and link to this issue.
Assigning to @ariel-phet for prioritization.

General RC Test

What to Test

Click every single button.
Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.

If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Test all query parameters on all platforms. (See QA Book for a list of query parameters.)
Download HTML on Chrome and iOS.
Make sure the iFrame version of the simulation is working as intended on all platforms.
Make sure the XHTML version of the simulation is working as intended on all platforms.
Complete the test matrix.
Don't forget to make sure the sim works with Legends of Learning.
Check this LoL spreadsheet and notify AR if it not there.
If this is rc.1 please do a memory test.
When making an issue, check to see if it was in a previously published version

Issues to Verify

[x] Molecule in screen selection and boded atoms in model screen disappears
[x] Color of Br is incorrect
[x] Molecules can change other molecule's orientation
[x] Win 10 Firefox Model Screen blank
[x] Projector Mode max width short
[x] Red X appears on bond atoms not present upon load
[x] Low graphics warning

These issues should have the "status:fixed-pending-testing" label. Check these issues off and close them if they are fixed. Otherwise, post a comment in the issue saying that it wasn't fixed.

Link(s)

Simulation
iFrame
XHTML
Test Matrix
Legends of Learning Harness

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

Per @kathy-phet this will be much closer to a spot check due to time constraints.

I'm going to call this for now so that @jonathanolson has a chance to fix anything and get it confirmed.  String tests, iframe, xhtml, and LoL only tested on one platform.  All other platforms tested for usability and screenshots.  See Testing Matrix for specific tests done.

Thanks! The issues should be fixed in https://github.com/phetsims/QA/issues/305.


Disable Logging panel when DEBUG is set to False to prevent memory leaks

I upgraded django-debug-toolbar from 0.9.4. to 1.0.1, and I noticed my application was quickly leaking memory even when settings.DEBUG was set to False. Once I removed debug_toolbar from the list of applications, the problem disappeared.
Upon further investigation, I found that LoggingPanel was quietly collecting all my log messages and never releasing them.
This problem only occurs if the Django application is fully initialized (e.g. using runserver), since this causes the LoggingPanel to register its handlers. Here is a simple application that illustrates the problem:
from django.core.management import ManagementUtility
import logging

utility = ManagementUtility()
command = utility.fetch_command('runserver')
command.validate()

logger = logging.getLogger('test')

while True:
    logger.info('This logger will leak memory')

Run this application with the default debug_toolbar settings, and then use 'top' to watch the memory grow without bound. The problem appears that the LoggingPanel does not use the enable_instrumentation() function normally called by the middleware, which does the DEBUG check beforehand.
I think the simplest fix is to check if DEBUG is enabled before initializing the LogCollector. This pull request does just that, and it appears to fix the issue.
In addition, I think we should consider a few other things:

Warn the user that under DEBUG mode, memory used for log messages can grow without bounds (this might be true for other panels already).

Limit the number/age of messages stored (perhaps as a configuration option).

@aaugustin can you please review the changes?

Closing because of inactivity. Please resubmit if you still want to work on this.


Fix spirv lowering logic around pointer to unsized array.

Closes #5061.

Im having trouble building this branch

both ninja and vs2022 fail for me, just following the build instructions here

@wijiler
As a quick fix, pass -DSLANG_SLANG_LLVM_FLAVOR=DISABLE, this will prevent slang trying to download the prebuilt llvm which it's failing at.
It's failing because it's trying to fetch it from a three year old release https://github.com/shader-slang/slang/releases/tag/v0.19.8, it must detect 0.19.8 as the latest tag? Can you fetch tags maybe?
It should however still succeed in this case and fall back to fetching the latest release which does have that file: https://github.com/shader-slang/slang/releases/tag/v0.19.8 I'll open an issue

Do we have any designs on supporting this for webgpu?

This feature requires general pointer support, so it is not possible to implement it on any targets other than spirv right now. Let's not worry about it.


Assets on trending should not be full videos

As a user, I prefer if I can see some indication of what a video includes. Also, I prefer pages to load faster rather than slower.
Solution: use a thumbnail that allows the video to play.

videos are now shown as a thumbnail.  A separate issue has been created to make the thumbnails properly reflect the video's poster rather than display a default.


feat: Add control to use timestamp to trigger the package creation or not (useful for CI/CD)

Description

Add a variable trigger_on_package_timestamp (boolean - defaults to true) to whether use timestamp to trigger the package creation or not.
Motivation and Context

Problem

Use the lambda module to create a lambda. Run terraform apply. The lambda is created.
Delete the builds directory (to simulate a CICD job with an empty environment).
Run terraform plan again, it will detect a drift because the timestamp has changed.

One solution was to add the variable recreate_missing_package = false, but when the CICD job (without any builds directory) runs terraform apply will face this error:
│ Error: Provider produced inconsistent final plan
│
│ When expanding the plan for module.foo_lambda.aws_lambda_function.this[0] to include new values learned so far during apply, provider "registry.terraform.io/hashicorp/aws"
│ produced an invalid new value for .source_code_hash: was cty.StringVal("cqn6fMnsZk+KB1YcvY+mV9lVQvKZ7T7n+vpBjv/qg3s="), but now
│ cty.StringVal("mM6yOCDC4GsOEw8Sqyb7t1aZPQqbwu/g27igFYoF6ko=").
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

Solution
Add a variable trigger_on_package_timestamp (boolean - defaults to true) to whether use timestamp to trigger the package creation or not.
Fix #396
Breaking Changes

None.
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

I have added an example/simple-cicd with a test.sh inside to run the test scenario.

@antonbabenko Would you have some time to take a look at this PR please? 🙇

This PR is included in version 6.7.0 :tada:


Support STS credentials via assume role

What this PR does / why we need it:
We run a multi-account setup in which Route53 is managed through a central account. In addition we (where possible) don't like to provision static IAM credentials. Everything is done through instance profiles (if running in the same account) or STS + assumeRole (if resource is in a different account).
This PR adds support through an additional parameter - assumeRoleARN - to the route53 dns provider. When specified the provider will generate STS credentials and use that for interaction with route53.
Support for assume-role in which a set of temporary security credentials are created

I screwed this PR up. Closing and re-opening.


Added new adapter builder parameter for PBS-Go

@ChrisHuie Thank you for the review. This feature is now merged.


feat: snippet trigger

I added the option to select which key needs to be pressed for non-auto snippets to expand. I also improved $SYMBOLS and $SHORT_SYMBOLS.

read https://github.com/artisticat1/obsidian-latex-suite/pull/141#issuecomment-1496575340

@artisticat1 :(
Next time please look at the PRs and merge before refactoring the whole codebase......
With all the new files and everything someone basically has to completely rewrite the whole thing because you reorganized everything. Please keep this in mind for the future!

I did it with this one now but I am not sure I want to completely redo #138... :(

Next time please look at the PRs and merge before refactoring the whole codebase...... With all the new files and everything someone basically has to completely rewrite the whole thing because you reorganized everything.

Sorry, I should've given you a heads up! It was mostly just some functions and files that got moved around, though, so porting these changes should be straightforward.
Can you move any changes to the $SYMBOLS and $SHORT_SYMBOLS variables into a separate PR from this new space-trigger functionality?

Yes sure I can but is it really necessary?

Apologies for the delay, I had other responsibilities! The changes for the new space-trigger feature look great and I'm happy to merge them.
However, the ${SHORT_SYMBOL} variable is intended for short symbols that should not automatically have \ prepended to them (because it would likely trigger in unintended situations), but should still automatically have spaces inserted after them when a letter is typed.
So "pm" and "mp" should be placed in ${SHORT_SYMBOL}, not ${SYMBOL}, and "sim" and "subset" don't really belong in ${SHORT_SYMBOL}. "ln" is a frequently used operator that should be expanded to "\ln" by default, so doesn't belong in ${SHORT_SYMBOL} either. (Although, now that I think about it, it would probably be best to create a new ${OPERATOR} variable.)
Why has ";" been added to ${SYMBOL}?

Yes so I am not sure if you've read the docs again. I also made some changes content wise to them.

${SHORT_SYMBOL} : Can be inserted in a trigger. Symbols which overlap with symbols from ${SYMBOL}. Shorthand for the following: ... (here)

I followed your principle. SHORT_SYMBOL contains symbols that should be taken care of by themself because the characters in them collide with items of SYMBOL which would mean that with the auto flag they would trigger in unwanted situations.
pm and mp don't collide with any element of SYMBOL. That's why I put them there. I put ln in SHORT_SYMBOL because it collides with lnot. SYMBOL and SHORT_SYMBOL are not about what's being used often. It's about what needs extra care to prevent collisions.  For example the snippets could look like that to deal with them:
  {trigger: "(${SYMBOL})", replacement: "\\[[0]] ", options: "rmA"},
  {trigger: "(^\\w)(${SHORT_SYMBOL})", replacement: "[[0]]\\[[1]] ", options: "rmA"},

This would prevent any unwanted behavior but is just one way to deal with them.
; is just as quad a symbol for spacing and should therefore be apart of it.

I see, I hadn't really considered collisions/overlap between symbols. However, when considering what symbols to include in SYMBOLS, I think frequency of use should be taken into account. "ln" is used far more often than "lnot". So I would prioritise "ln" over "lnot", and have "ln" expand to "\ln" by default, instead of avoiding doing so to avoid a collision with "lnot".
I see that you've included some trig functions in SYMBOLS. If we're overhauling the SYMBOLS variables, I think it would be best to create an entirely new variable altogether for these, called OPERATORS.

; is just as quad a symbol for spacing and should therefore be apart of it.

\; is a spacing command, not a symbol, and so doesn't fit in with the rest of SYMBOLS. However, adding default snippets for some spacing commands (such as \quad) would be a nice idea.
If you move the symbol changes into a separate PR, I can merge the space-trigger feature now and we can discuss symbols there.

Fine I removed the symbol related changes and created a new PR see #145


Move Java Extensions page to Automatic

Move the extensions page for Java under the Automatic section since it clearly speaks about the Automatc Instrumentation agent

Hey @svrnm et all: I think that you forgot to add an alias for the move.

Yes, thanks for calling that out, let me fix that.


Effects should not be displayed when empty

When hovering over a function its full return type and effects are shown.

This is in contrast to our usual presentation where we would omit the empty set of effects and just say show returns a String (but not String / {}).
The code that renders function declarations is here:
https://github.com/effekt-lang/effekt/blob/80467d8d942ccd49fb2165261f90ae26b0b7cf0f/effekt/shared/src/main/scala/effekt/symbols/DeclPrinter.scala#L86-L89
and should be adapted to print effects similar to the TypePrinter:
https://github.com/effekt-lang/effekt/blob/80467d8d942ccd49fb2165261f90ae26b0b7cf0f/effekt/shared/src/main/scala/effekt/symbols/TypePrinter.scala#L76
Optional: Maybe some logic between TypePrinter and DeclPrinter can be deduplicated

I sort of like this though as it's explicit about the effects a function has.
But I'm fine with removing it.


Update unit tests

Add more unit tests - code coverage went from 48% to 72%
Add HydroBasins test data along with input and output test data
Add github workflow for testing - uses the matrix strategy and needs to be tested (My windows command line skills are a bit shaky)
We're still dealing with the weird GEE behavior where it returns diff values on diff runs for same input. I implemented fuzzy equals on the results dictionary to work around this

I think we need source activate rabpro not conda activate rabpro in the ghactions script

Looks like something funky's up with the 3.7 and 3.9 builds. Likely unable to solve those environments for whatever reason. Could be RivGraph's fault, although I think it's ok for 3.9...

Yeah it's RivGraph's fault - it requires Python 3.8 to be used, so nothing else works

Fixed a number of issues with conda, pip, caching, paths, and directory structure. The only remaining issue (for now) is the lack of a tif file in MERIT_ELEV_HP. @jonschwenk the original zip file you sent me didn't have an elv.tif file, so if you could send me the corresponding tile that'd be great!

Weird, I have an elev.tif file in the folder but I must've not included it. Will plop it in slack.


Laravel 5.8 Shift

This pull request includes the changes for upgrading to Laravel 5.8. Feel free to commit any additional changes to the shift-12698 branch.
Before merging, you should:

Checkout the shift-12698 branch
Review all pull request comments for additional changes
Update your dependencies for Laravel 5.8
Run composer update (if the pre-scripts fail, add --no-scripts)
Thoroughly test your application

If you want help with your upgrade, check out the Shift Human Services or join the Shifty Coders Slack room to get answers to all your Laravel questions.

:x: Shift could not upgrade the following configuration files since they differed from the default Laravel version. You will need to compare these configuration files against the Laravel 5.8 configuration files and merge any changes:

[ ] config/app.php
[ ] config/cache.php
[ ] config/session.php

:warning: Laravel 5.8 introduced a set of AWS environment variables to help consolidate configuring AWS services. You should rename the following environment variables to their new AWS names.

SQS_KEY to AWS_ACCESS_KEY_ID
SQS_SECRET to AWS_SECRET_ACCESS_KEY
SQS_REGION to AWS_DEFAULT_REGION
SES_KEY to AWS_ACCESS_KEY_ID
SES_SECRET to AWS_SECRET_ACCESS_KEY
SES_REGION to AWS_DEFAULT_REGION

:x: Shift detected your application has a development dependency for the laravel/dusk package. The recommended version for Laravel 5.8 is ^5.0. You should review your dependency and ensure it meets the new version requirement, as well as review their README for additional changes.

:information_source: Laravel 5.8 changed the minimum requirement for password length from 6 characters to 8 character. While this change is not required for upgrade, you should consider this opportunity to review the password policy for your application.

:warning: Laravel 5.8 changed several of the core contracts with new implementations and methods. You should review the Upgrade Guide for more detail on these respective changes:

Illuminate\Contracts\Validation\Validator

Shift found references to these contracts within:

[ ] app/Http/Controllers/Auth/RegisterController.php

:warning: If you are using SQLite, the oldest supported version in Laravel 5.8 is SQLite 3.7.11. Laravel recommends to run SQLite 3.8.8 or higher.

:warning: If you are using JSON values in your MySQL or MariaDB tables, the query builder now return unquoted JSON values in Laravel 5.8.

:warning: The Nexmo and Slack Notification channels have been extracted into first-party packages. To use these channels in your application, run the follow command to require the respective packages:
composer require laravel/nexmo-notification-channel
composer require laravel/slack-notification-channel

:warning: Laravel 5.8 correctly pluralizes multi-word model names ending in a word with an irregular pluralization. For example, Laravel 5.7 incorrectly pluralized the table name for the UserFeedback model as user_feedbacks. Laravel 5.8 correctly pluralizes this table name as user_feedback.
If you were relying on this irregular pluralization, you should rename your table name or set the $table property for your model. If you were overriding this behavior by setting the $table property, you may remove it and now rely on the framework.

:tada: Congratulations, you're now running the latest version of Laravel. You can now use some of the micro Shifts to ensure your app is fully upgraded and following the Laravel recommended and community practices.

Laravel Linter analyzes your codebase for potential opportunities to do things "The Laravel Way".
Laravel Fixer automates many of the suggestions found by the Analyzer and Linter.
Upgrade Checker ensures your application is fully upgraded by detecting any outdated code.


[sc161683] Update CDB_TableMetadata_Trigger to handle race conditions

Resources

Shortcut story

Context

When a cartodified table is updated, the following code is triggered in order to log into cdb_tablemetadata the name of the table and the last time it was updated:

    WITH nv as (
      SELECT TG_RELID as tabname, now() as t
    ), updated as (
      UPDATE<EMAIL_ADDRESS>x SET updated_at = nv.t
      FROM nv WHERE x.tabname = nv.tabname
      RETURNING x.tabname
    )
    INSERT INTO<EMAIL_ADDRESS>SELECT nv.*
    FROM nv LEFT JOIN updated USING(tabname)
    WHERE updated.tabname IS NULL;

What we are doing in that code is checking if the row already exists and update it (updated section). If that section returns NULL, it means that there isn't a row for that table, and we insert a new one. But there is a remote chance of race condition when two inserts are made simultaneously and the row doesn't exist yet: if both inserts try to update the row, they will both try to insert the record into the table. The first one will work, but the second one will fail, since the table's name is the primary key.
It is suspected that this race of condition is the one inconsistently raising the following error, mainly when there are COPY procedures involved: duplicate key value violates unique constraint \"cdb_tablemetadata_pkey\".

Changes

Rescuing UNIQUE_VIOLATION exception and retrying the update.

Closing, more information in https://github.com/CartoDB/cartodb/pull/16346#issuecomment-1309095799


sprig functions do not work in a pipeline

Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened? What did you expect to happen?
Expressions are not evaluated when sprig functions are used after a pipe (|) operator.
Outputs of the attached workflow:
with pipe:
{{=sprig.trim(" abc ") | sprig.upper()}}

without pipe:
ABC

with expr build-in functions:
ABC

Version(s)
v3.4.17, v3.5.11, latest git main branch (0dfecd6e3a18c7bb884000e1e98d8305440d8d49)
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: test-workflow-
spec:
  ttlStrategy:
    secondsAfterCompletion: 60
  entrypoint: main
  templates:
    - name: main
      script:
        image: busybox:1.37.0
        command:
          - ash
        source: |-
          echo '
            with pipe:
            {{=sprig.trim(" abc ") | sprig.upper()}}

            without pipe:
            {{=sprig.upper(sprig.trim(" abc "))}}

            with expr build-in functions:
            {{=trim(" abc ") | upper()}}
          '

Logs from the workflow controller
level=info msg="Processing workflow" Phase= ResourceVersion=219769 namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.134Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.134Z" level=info msg="Updated phase  -> Running" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.134Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.135Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.135Z" level=info msg="Pod node test-workflow-d56zl initialized Pending" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.140Z" level=info msg="Created pod: test-workflow-d56zl (test-workflow-d56zl)" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.140Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.140Z" level=info msg=reconcileAgentPod namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:29.143Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=219772 workflow=test-workflow-d56zl
time="2024-10-14T04:24:30.133Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=219772 namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:30.133Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=test-workflow-d56zl
time="2024-10-14T04:24:30.133Z" level=info msg="node changed" namespace=argo new.message=PodInitializing new.phase=Pending new.progress=0/1 nodeID=test-workflow-d56zl old.message= old.phase=Pending old.progress=0/1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:30.134Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:30.134Z" level=info msg=reconcileAgentPod namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:30.137Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=219783 workflow=test-workflow-d56zl
time="2024-10-14T04:24:31.188Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=219783 namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:31.188Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:31.188Z" level=info msg="node changed" namespace=argo new.message= new.phase=Running new.progress=0/1 nodeID=test-workflow-d56zl old.message=PodInitializing old.phase=Pending old.progress=0/1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:31.188Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:31.188Z" level=info msg=reconcileAgentPod namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:31.192Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=219790 workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.117Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=219790 namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.118Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.118Z" level=info msg="task-result changed" namespace=argo nodeID=test-workflow-d56zl workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.118Z" level=info msg="node changed" namespace=argo new.message= new.phase=Running new.progress=0/1 nodeID=test-workflow-d56zl old.message= old.phase=Running old.progress=0/1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.119Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.119Z" level=info msg=reconcileAgentPod namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.122Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=219797 workflow=test-workflow-d56zl
time="2024-10-14T04:24:33.124Z" level=info msg="cleaning up pod" action=terminateContainers key=argo/test-workflow-d56zl/terminateContainers
time="2024-10-14T04:24:34.121Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=219797 namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:34.121Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:34.122Z" level=info msg="node unchanged" namespace=argo nodeID=test-workflow-d56zl workflow=test-workflow-d56zl
time="2024-10-14T04:24:34.122Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:34.122Z" level=info msg=reconcileAgentPod namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:34.127Z" level=info msg="cleaning up pod" action=terminateContainers key=argo/test-workflow-d56zl/terminateContainers
time="2024-10-14T04:24:35.210Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=219797 namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.211Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.211Z" level=info msg="node changed" namespace=argo new.message= new.phase=Succeeded new.progress=0/1 nodeID=test-workflow-d56zl old.message= old.phase=Running old.progress=0/1 workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.211Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.211Z" level=info msg=reconcileAgentPod namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.211Z" level=info msg="Updated phase Running -> Succeeded" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.211Z" level=info msg="Marking workflow completed" namespace=argo workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.214Z" level=info msg="Workflow update successful" namespace=argo phase=Succeeded resourceVersion=219802 workflow=test-workflow-d56zl
time="2024-10-14T04:24:35.215Z" level=info msg="Queueing Succeeded workflow argo/test-workflow-d56zl for delete in 1m0s due to TTL"
time="2024-10-14T04:24:35.223Z" level=info msg="cleaning up pod" action=labelPodCompleted key=argo/test-workflow-d56zl/labelPodCompleted
time="2024-10-14T04:24:36.125Z" level=info msg="cleaning up pod" action=killContainers key=argo/test-workflow-d56zl/killContainers
time="2024-10-14T04:25:36.000Z" level=info msg="Deleting garbage collected workflow 'argo/test-workflow-d56zl'"

Logs from in your workflow's wait container
time="2024-10-14T04:24:32.188Z" level=info msg="No output parameters"
time="2024-10-14T04:24:32.188Z" level=info msg="No output artifacts"
time="2024-10-14T04:24:32.188Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: test-workflow-d56zl/test-workflow-d56zl/main.log"
time="2024-10-14T04:24:32.188Z" level=info msg="Creating minio client using static credentials" endpoint="minio:9000"
time="2024-10-14T04:24:32.188Z" level=info msg="Saving file to s3" bucket=my-bucket endpoint="minio:9000" key=test-workflow-d56zl/test-workflow-d56zl/main.log path=/tmp/argo/outputs/logs/main.log
time="2024-10-14T04:24:32.192Z" level=info msg="Save artifact" artifactName=main-logs duration=3.351109ms error="<nil>" key=test-workflow-d56zl/test-workflow-d56zl/main.log
time="2024-10-14T04:24:32.192Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2024-10-14T04:24:32.192Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2024-10-14T04:24:32.197Z" level=info msg="Alloc=8205 TotalAlloc=14202 Sys=28773 NumGC=4 Goroutines=10"
time="2024-10-14T04:24:32.199Z" level=info msg="Deadline monitor stopped"

I patched the workflow controller to always show error messages from expr and then ran the attached workflow again.
It seems . is not supported in pipelines by expr:

failed to compile:  unexpected token Operator(".") (1:28)
| sprig.trim(" abc ") | sprig.upper()
| ...........................^

If a function is assigned to a variable to avoid . in a pipeline, the evaluation succeeds:
{{=
    let sprig_upper = sprig.upper;
    sprig.trim(" abc ") | sprig_upper()
}}  # == ABC

I also found that usage of sprig functions is confusing in Argo Workflows.
The Argo Workflows document just says
https://argo-workflows.readthedocs.io/en/stable/variables/

You can also use Sprig functions:

but examples in the Sprig document basically do not work in Argo Workflows:
1: Parentheses are required to call functions
# sprig document example: http://masterminds.github.io/sprig/strings.html#trim
{{=sprig.trim "   hello    "}}

expr error message:

failed to compile:  unexpected token String("   hello    ") (1:12)
| sprig.trim "   hello    "
| ...........^

# Correct syntax in Argo Workflows
{{=sprig.trim("   hello    ")}} # == hello

2: The pipe operator (|) passes a value to different argument positions
# In the sprig document, a left-hand side value is passed to the last argument of the function by the pipe operator
# sprig document example: http://masterminds.github.io/sprig/crypto.html#decryptaes
{{=
    let decryptAES = sprig.decryptAES;
    "30tEfhuJSVRhpG97XCuWgz2okj7L8vQ1s6V9zVUPeDQ=" | decryptAES("secretkey")
}}

expr error message:

illegal base64 data at input byte 8 (3:54)
|     "30tEfhuJSVRhpG97XCuWgz2okj7L8vQ1s6V9zVUPeDQ=" | sprig_decryptAES("secretkey")
| .....................................................^

# In expr, a left-hand side value is passed to the first argument of the function by the pipe operator
# Correct syntax:
{{=
    let decryptAES = sprig.decryptAES;
    "secretkey" | decryptAES("30tEfhuJSVRhpG97XCuWgz2okj7L8vQ1s6V9zVUPeDQ=")
}}  # == plaintext

The main reason is that Sprig document uses the template engine in the golang standard library while Argo Workflows uses expr.

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: test-workflow-
spec:
  ttlStrategy:
    secondsAfterCompletion: 1
  entrypoint: main
  templates:
    - name: main
      script:
        image: busybox:1.37.0
        command:
          - ash
        source: |-
          echo '
            If a function is assigned to a variable to avoid `.` in a pipeline, the evaluation succeeds:
            {{=
                let sprig_upper = sprig.upper;
                sprig.trim(" abc ") | sprig_upper()
            }}  # == ABC

            sprig document example: http://masterminds.github.io/sprig/strings.html#trim
            {{=sprig.trim "   hello    "}}  # fail

            Correct syntax in Argo Workflows
            {{=sprig.trim("   hello    ")}} # == hello

            In the sprig document, a left-hand side value is passed to the last argument of the function by the pipe operator
            sprig document example: http://masterminds.github.io/sprig/crypto.html#decryptaes
            {{=
                let decryptAES = sprig.decryptAES;
                "30tEfhuJSVRhpG97XCuWgz2okj7L8vQ1s6V9zVUPeDQ=" | decryptAES("secretkey")
            }}  # fail in Argo Workflows

            In expr, a left-hand side value is passed to the first argument of the function by the pipe operator
            Correct syntax:
            {{=
                let decryptAES = sprig.decryptAES;
                "secretkey" | decryptAES("30tEfhuJSVRhpG97XCuWgz2okj7L8vQ1s6V9zVUPeDQ=")
            }}  # == plaintext
          "
          '

I patched the workflow controller to always show error messages from expr

are you willing to submit a PR for this else can you share the code change for this?

I'm not planning to submit a PR because the change is just a quick fix. It shows errors when it shouldn't, and I'm not sure if workflow controller logs are the appropriate place to show them.
Here is the code change I used: https://github.com/argoproj/argo-workflows/pull/13774/files


Fix diff/intersect when some tags are hidden

When the first operand is hidden, some strange things happen, so this guards
against that.
Example:
include <BOSL2/std.scad>

part_to_show = "A"; // [A,B,C]
part_to_hide = "B"; // [A,B,C]

module my_part() {
    tags("A") left(10) cuboid(10);
    tags("B") diff("neg", "B") right(10) {
        cuboid(10);
        cyl(d=10, h=10, $tags="neg");
    }
    tags("C") fwd(10) cuboid(10);
}

show(part_to_show) hide(part_to_hide) my_part();

Tag B here acts very strangely when it is supposed to be hidden, and never
hides completely.

As best as I can tell, the issue is that the diff() call internals are doing a show("B") children(); inside its difference(), which is overriding your hide().
It's looks to me that the current behavior of nested show() and hide() may be flawed.  I'll take a look at your proposed patch later, when I don't have a massive headache.


Cleanup some more DirectClient

How to categorize this PR?

/area dev-productivity scalability
/kind cleanup
/priority normal
What this PR does / why we need it:
This PR cleans up more usages of the DirectClient in order to eventually get rid of it.
It tackles

some reading usages in gardenlet (replaced by APIReader)
the fake clientset package to be able to add an APIReader
WaitUntilLoadBalancerIsReady and FetchEventMessages
usages for scaling resources (constant patch used, so now Reader is needed, replaced by Client)

Which issue(s) this PR fixes:
Part of #2822
Special notes for your reviewer:
/squash
Release note:

/assign


Fix: remove the border around footer logo

In this updated code, header icon border was also removed.
If you want header border or there was any problem tell me to fix that.

This looks fine @splenta22. Thank you for the PR 🎉


Build failed on Version 1.1.0

Once I update the version to 1.1.0 it gave build failure  but the plugin is working with version 1.0.0
> Task :generateSwagger FAILED
####################
Yelp Swagger Codegen
####################
Platform         kotlin
Package          com.yelp.codegen.integrations
specName         integration
specVers         1.0.0
input            /Users/chatura/swagger-gen/swagger-gradle-codegen-master/samples/sample_specs.json
output           /Users/chatura/swagger-gen/swagger-gradle-codegen-master/samples/groovy-android/src/main/java
groupId          com.yelp.codegen.integrations
artifactId       com.yelp.codegen.integrations
features         Accept-Language

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':generateSwagger'.
> com/yelp/codegen/utils/InlineModelResolver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

These are my configurations
------------------------------------------------------------
Gradle 5.5
------------------------------------------------------------

Build time:   2019-06-28 17:36:05 UTC
Revision:     83820928f3ada1a3a1dbd9a6c0d47eb3f199378f

Kotlin:       1.3.31
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM:          1.8.0_212 (AdoptOpenJDK 25.212-b04)
OS:           Mac OS X 10.13.6 x86_64

Thanks for reporting it @chathudan
I'm verifying and will eventually publish a 1.1.1 with this a fix (looks like the 1.1.0 was compiled with Java11 rather than 8).

Thank you, waiting for the release.

@chathudan Can I ask you to try version 1.1.1? Is now on Gradle Portal

@colinschoen it's working, thanks for the quick update
I can see empty header   @Headers()  when there no operationId.  Can you remove the empty header or add "X-Operation-ID: loginPost" using auto-generated operationId

Empty operationId found for path: get /events/{id}. Renamed to auto-generated operationId: eventsIdGet

I think this is for @cortinico

I can see empty header  @Headers() when there no operationId . Can you remove the empty header ? or add "X-Operation-ID: eventsIdGet" using auto-generated operationId

@chathudan Can I ask you to open another issue and explain your scenario please?


iOS14+ Geolocation reduced accuracy support

https://github.com/dotnet/maui/pull/5826
@adegeo to decide if this has doc impact.
This is only available in the GA build.

I think so. I'll update this.


Optimize checksum code and write tests

I think the checksuming code can be improved somewhat: https://gcc.godbolt.org/z/cHmBLE.
More this likely-unimportant optimization, I want to use this as an excuse to write tests and set up testing infrastructure.

There's also some refactoring to do, as part of the logic of checksum_check is duplicated in serialIO.cpp.

See also https://en.wikipedia.org/wiki/Fletcher's_checksum#Optimizations

Is this urgent enough to be in alpha?

Unit tests and testing infrastructure is highly urgent, yes!

Yes, unit testing is urgent, I agree :) I was more questioning the urgency of optimization. But all is good.


Issues with Lusya capture device

Hi All,
I'm trying to get TinyPilot running on an RPi 4 - 4G, with POE HAT and a Lusya capture device. At first I could not even get the capture device to run and report results using v4l2-ctl --query-dv-timings. As it turns out the fan controller of the POE hat conflicts with the Lusya (see: https://github.com/pikvm/pikvm/issues/6). Luckily this was a simple fix.
Now I can see the output of v4l2-ctl --query-dv-timings:
Active width: 1920
	Active height: 1080
	Total width: 2200
	Total height: 1125
	Frame format: progressive
	Polarities: -vsync -hsync
	Pixelclock: 148500000 Hz (60.00 frames per second)
	Horizontal frontporch: 0
	Horizontal sync: 280
	Horizontal backporch: 0
	Vertical frontporch: 0
	Vertical sync: 45
	Vertical backporch: 0
	Standards:
	Flags:

But the TinyPilot UI gives me a "No Signal"
Diving into the logs shows the following
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.591    stream] -- Device fd=9 opened
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.591    stream] -- Using input channel: 0
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.608    stream] -- Got new DV timings: resolution=1920x1080, pixclk=148500000
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.655    stream] -- Using resolution: 1920x1080
May 12 20:50:15 tinypilot ustreamer[634]: -- ERROR [367.655    stream] -- Could not obtain the requested pixelformat=JPEG; driver gave us RGB24
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.655    stream] -- Falling back to pixelformat=RGB24
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.655    stream] -- Using pixelformat: RGB24
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.655    stream] -- Querying HW FPS changing is not supported
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.655    stream] -- Using IO method: MMAP
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.689    stream] -- Requested 5 device buffers, got 5
May 12 20:50:15 tinypilot ustreamer[634]: -- ERROR [367.691    stream] -- Unable to start capturing: Invalid argument
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.712    stream] -- Device fd=9 closed
May 12 20:50:15 tinypilot ustreamer[634]: -- INFO  [367.712    stream] -- Sleeping 1 seconds before new stream init ...

Note the ERROR [367.691    stream] -- Unable to start capturing: Invalid argument
Now, this is where I can't find why this happens... Does anyone have a suggestion where to look?

Thanks for reporting this!
The standard installer assumes that you're using the HDMI to USB dongle. You can fix this by editing your settings.yml and re-running the installer:
https://github.com/mtlynch/tinypilot/wiki/Installation-Options#example-tc358743-hdmi-to-csi-capture-chip


Directory mistaken for file

I've encountered an error unzipping an archive that appears to be a special case. I'm actually using gulp-decompress but the cause appears to be in this module.
Symptoms:

One of the directories within the zip file is incorrectly identified as a file instead of a directory.
An empty file is created instead of a directory.
The unzip operation fails when it then attempts to unzip the files within that directory as the OS attempts to create a directory of the same name as the file.

Possible cause:

The entry in question has a externalFileAttributes value of 0x00110000. This fails the equality comparison with16 because 0x00100000 is set.

I don't know enough about what the 0x00100000 bit is for to know if getType(entry, mode) should really be just checking for 0x00010000 being set, rather than an exact equality.
I tested using new zip archives that I created with 7zip and Windows right-click > Send to > Compressed (zipped) folder. Both of them worked correctly.
I am unable to share the zip file here as it's an installer for licensed software. I also have no idea how it was produced. However, I am happy to answer any questions or run additional tests as needed.

Any update on this? It took a bit of effort to provide this level of detail. It'd be nice to get some feedback.

This might help in some situations:
decompress(buffer, dir, {
    map: (file) => {
      if (file.type === 'file' && file.path.endsWith('/')) {
        file.type = 'directory'
      }
      return file
    },
  })


Update React and Angular Todos Step-by-Step Tutorials

We received customer feedback that the Angular and React Todos tutorials are not up to date. They were written by the previous technical writer and haven't been updated since March 2023, more than a year ago.

Hey @PazYanoverr, I created this issue so we'll remember to talk about it.


Update Post data model

Update Post data model to v2, while adjusting post endpoints.

Added v2 models at schemas/v2
Added new Post model
Updated all post endpoints to use the new model

Endpoints:

GET /posts
POST /posts
GET /posts/:postId
PATCH /posts/:postId
DELETE /posts/:postId
PUT /posts/:postId/:userId (like)
DELETE /posts/:postId/:userId (unlike)

Missing getting the authenticated user, pagination and filters at GET requests since those are out of scope.

@Naraujo13 I've merged the auth checks so maybe you can check what's changed and rebase/merge

ok this looks definitely good to merge to the other data model branch
I think it's probably better to merge the whole posts API update as one pull request to master asap so we can continue integrating with frontend and get testing while you work on other parts of the data model ( also, don't think we need schema/v2 folder? can probably overwrite the old one... it was kind of a draft version, in MVP it will kind of be v1 anyway :)
I can work on the mongoose integration to load the schema's tomorrow so will help with that

About the v2 folder, this is to avoid the index.js trying to create a model out of something that is already exporting it (it does this with all files in the root schema folder). I agree there is no need for the folder, but while we don't refactor the whole index.js, unfortunately, it is needed.


fix: includes @types/duplexify in package

This library uses duplexify, and returns objects that use types from the @types/duplexify package in public interfaces.  This is causing issues like the one seen here:
https://github.com/googleapis/nodejs-datastore/pull/346

I can't say I don't hate it but I guess we have no other good options 😢


IP Protection: Will the same proxy servers be used for a period of time (in a session), or will they be different for each request?

An HTTP/S connection will use a single pair of proxies and will present a single masked IP address to the origin. Beyond that, there are no hard constraints on different HTTP/S connections having to use the same servers or, even when that is the case, those connections sharing the same masked IP address. For example, if a user is connecting to the same origin (3ptracker.com) from two different Chrome tabs, those two might not use the same servers and might not share the same masked IP address.


[shared_preferences] Use path_provider directly in windows/linux

Steps to Reproduce

PathProviderPlatform.instance = MyFakePathProviderPlatform in app main.dart
MyFakePathProviderPlatform override all directory function

Expected results:
shared_preferences file location follow where i override
Actual results:
shared_preferences file location not changed

Code sample
main.dart

PathProviderPlatform.instance = FakePathProviderWindows();

fake.dart
class FakePathProviderWindows extends PathProviderPlatform {

  @override
  Future<String?> getApplicationSupportPath() async => r'C:\appsupport';

  @override
  Future<String?> getTemporaryPath() async => null;

  @override
  Future<String?> getLibraryPath() async => null;

  @override
  Future<String?> getApplicationDocumentsPath() async => null;

  @override
  Future<String?> getDownloadsPath() async => null;

}

Using path_provider_<platform> is an implementation detail of shared_preferences; you should not be trying to change shared_preferences behaviors by changing internal implementation details of shared_preferences.
(We use the platform implementations directly on purpose; it prevents the native code for all other path_provider platforms from being pointlessly built into an application that's only using shared_preferences.)


Do you support importing Asynchronous Sessions from sqlmodel？

Privileged issue

[X] I'm @tiangolo or he asked me directly to create an issue here.

Issue Content
from sqlmodel import AsyncSession

here for you
from sqlmodel.ext.asyncio.session import AsyncSession