Replication Woes

let's start with I'm stubborn..first nominatim....and I like to use .yml
This is probably horribly wrong...but it is working && A for effort at minimum
version: "2.1"
services:
nominatim-api:
environment:
- PBF_URL=https://ftpmirror.your.org/pub/openstreetmap/pbf/planet-171204.osm.pbf
- REPLICATION_URL=https://ftpmirror.your.org/pub/openstreetmap/replication/day/
- IMPORT_WIKIPEDIA=true
- IMPORT_US_POSTCODES=true
- IMPORT_GB_POSTCODES=true
- IMPORT_TIGER_ADDRESSES=true
- NOMINATIM_PASSWORD=YourStrongRootPasswordHere!
- IMPORT_STYLE=address
- THREADS=32
- NOMINATIM_FLATNODE_FILE=/nominatim/flatnode
shm_size: '64g'
image: mediagis/nominatim:4.0
ports:
- "8080:8080"
volumes:
- nominatim-data-gb:/var/lib/postgresql/12/main
volumes:
nominatim-data-gb:
external: true
name: nominatim-data-gb
----------------------------------------------------------------------------------------------------------------------------------------------
1- I did not set a restart variable
2-When I try to set replication --this happens--
                                    NAMES

164d8a489dff   0815flo/swifttileservercache:2.1.0-beta                                       "./SwiftTileserverCa…"   12 hours ago   Up 12 hours   <IP_ADDRESS>:9000->9000/tcp, :::9000->9000/tcp                                              tileserver-cache
c21ce27273ee   maptiler/tileserver-gl:latest                                                 "/app/docker-entrypo…"   12 hours ago   Up 12 hours   80/tcp                                                                                tileserver
6f39431c5db0   docker.pkg.github.com/realdevicemap/realdevicemap/realdevicemap:development   "./RealDeviceMapApp"     32 hours ago   Up 32 hours   <IP_ADDRESS>:4848->4848/tcp, :::4848->4848/tcp, <IP_ADDRESS>:4949->4949/tcp, :::4949->4949/tcp   SHINYMADNESS
dc5e054dcae8   mediagis/nominatim:4.0                                                        "/bin/sh -c /app/sta…"   33 hours ago   Up 33 hours   5432/tcp, <IP_ADDRESS>:8080->8080/tcp, :::8080->8080/tcp                                    nom_nominatim-api_1
entroflux on ugotfluxxed.lol in ~
$ docker exec -it nominatim sudo -u nominatim nominatim replication --project-dir /nominatim
Error response from daemon: Container 8a2550e7063c398fd1b2ac344c9be6f8d8e76d8d0836c36c9f609806924fb615 is not running
entroflux on ugotfluxxed.lol in ~
$ docker exec -it dc5e054dcae8 sudo -u nominatim nominatim replication --project-dir /nominatim
2022-04-04 13:32:29: Using project directory: /nominatim
2022-04-04 13:32:42  osm2pgsql version 1.5.1
2022-04-04 13:32:42  Database version: 12.9 (Ubuntu 12.9-0ubuntu<IP_ADDRESS>)
2022-04-04 13:32:42  PostGIS version: 3.0
2022-04-04 13:32:42  ERROR: You seem to not have a nodes table. Did you forget the --flat-nodes option?
Traceback (most recent call last):
File "/usr/local/bin/nominatim", line 11, in
exit(cli.nominatim(module_dir='/usr/local/lib/nominatim/module',
File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 235, in nominatim
return parser.run(**kwargs)
File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 96, in run
return args.command.run(args)
File "/usr/local/lib/nominatim/lib-python/nominatim/clicmd/replication.py", line 187, in run
UpdateReplication._update(args)
File "/usr/local/lib/nominatim/lib-python/nominatim/clicmd/replication.py", line 144, in _update
state = replication.update(conn, params)
File "/usr/local/lib/nominatim/lib-python/nominatim/tools/replication.py", line 119, in update
run_osm2pgsql(options)
File "/usr/local/lib/nominatim/lib-python/nominatim/tools/exec_utils.py", line 139, in run_osm2pgsql
subprocess.run(cmd, cwd=options.get('cwd', '.'),
File "/usr/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/local/lib/nominatim/osm2pgsql', '--hstore', '--latlon', '--slim', '--with-forward-dependencies', 'false', '--log-progress', 'true', '--number-processes', '1', '--cache', '2000', '--output', 'gazetteer', '--style', '/usr/local/etc/nominatim/import-address.style', '--append', '/nominatim/osmosischange.osc']' returned non-zero exit status 1.
entroflux on ugotfluxxed.lol in ~
$

Not Feeling it...but if smarter to nuke it and start over..all good...some guidance would be lovely

The error message says:
2022-04-04 13:32:42 ERROR: You seem to not have a nodes table. Did you forget the --flat-nodes option?
Traceback (most recent call last):

It appears that you haven't made /nominatim/flatnode a volume. This is actually required to use this feature. I advise that you re-read https://github.com/mediagis/nominatim-docker/tree/master/4.0#flatnode-files

I'm going to close this as there is no activity anymore. If you still have a question, please reopen.


Possible solution to issues with commands

This may help with some of the issues we have been encountering with circular dependency, and command ownership. I created one class to wrap commands to execute them repeatedly (solves the circular dependency problem), and another function that will allocate and schedule a command then delete it once End() is called. I chose to have the function schedule the wrapped command itself to prevent it from being referenced anywhere else. Additionally, the wrapper class used to implement this is only defined in the source file to prevent it from ever being instantiated. @theVerySharpFlat, could you look over this too see if I managed pointer ownership correctly, and if this is even a useful or smart idea.

This sounds like a great idea, but I'm not sure how, using this code, we are going to implement a one after another command loop. Unless we have to create a command that performs the find and follow commands sequentially, pass it to the repeating command, which creates a suicidal command out of that and does it in a loop.

We should create another class called sequentialRepeatingCommand that wraps repeating command or something and takes in a list of rvalue references and calls them sequentially.

I don't think that's strictly necessary. We would just wrap an frc2::SequentialCommand in a repeating command like this:
rmb::RepeatingCommand(new frc2::SequentialCommand(findCommand, followCommand));

I don't think there is a ton of use for the type outside of wrapping sequential commands, so it might be best to combine the two. As for how we pass data through he constructor, I'm not entirely sure. I don't have a ton of experience working with ownership and rvalue refrences (and they way I implemented it might not even be correct), so if you have a better way, please change it.
Also, since the command would be a default command it would be owned by the Command Scheduler automatically so we wouldn't schedule it as a SuicidalCommand. The SuicidalCommand just prevents us from having to make an instance variable in the RobotContainer for every command (and makes it easier to change parameters of commands at their construction).

I don't think that's strictly necessary. We would just wrap an frc2::SequentialCommand in a repeating command like this:
rmb::RepeatingCommand(new frc2::SequentialCommand(findCommand, followCommand));

I don't think there is a ton of use for the type outside of wrapping sequential commands, so it might be best to combine the two. As for how we pass data through he constructor, I'm not entirely sure. I don't have a ton of experience working with ownership and rvalue refrences (and they way I implemented it might not even be correct), so if you have a better way, please change it.
Also, since the command would be a default command it would be owned by the Command Scheduler automatically so we wouldn't schedule it as a SuicidalCommand. The SuicidalCommand just prevents us from having to make an instance variable in the RobotContainer for every command (and makes it easier to change parameters of commands at their construction).

that makes sense!


Make where clause optional

This is implemented as of a00c275084be77b781b7b4d5b088ab5eba3a1670. It's on a non-master branch though, so until it gets merged, you'll have to build manually to test it.
If you'd like to do that, here's how --
$ git clone https://github.com/kshvmdn/fsql.git $GOPATH/src/github.com/kshvmdn/fsql
$ cd $_
$ git fetch origin
$ git checkout -b refactor/query-structure origin/refactor/query-structure
$ go install .
$ which fsql
$GOPATH/bin/fsql

Merged as of a6c3339668ca477722d16238c1cf2f6e1616955d.
Will keep the issue open until confirmation.

Working...


How can I help?

https://linebender.org/blog/xilem-2024/

For those who are interested, you are invited to come build this future with us.

What state is this repo in right now?

First thing I found while skimming through the code is that Button uses a String.

Is it possible to use borrowed values in the tree? :D Or would you need self-referential types?
What about &'static str?
How hard would it be to substitute that with a "generic widget type"? Generics? dyn Trait? dyn Trait in a library-provided type?
Here's how GPUI does it (although GPUI doesn't have such high-level components like buttons but bases most things around a div element along with a large styling system and shared/generic interactive code):

https://github.com/linebender/xilem/blob/072358e2933da4a814b9b45e74de2e4c23c873ec/src/view/taffy_layout.rs#L128-L136
Why isn't the background color in style?

Why isn't taffy a central part of Xilem? Seems like

For styles in general, I recommend y'all to check out GPUI (apologies for the screenshots but gpui doesn't have a rustdoc anywhere on the internet)

How are pointer events handled? Binary search? Loop over each leaf node? Loop over every node in the tree? Do they work with overlapping elements like modals, dropdowns, etc.?

https://github.com/linebender/rfcs/blob/main/rfcs/0001-masonry-backend.md
Has the work on this begun?

Thanks for your interest. I would encourage you to join the Zulip at https://xi.zulipchat.com. You would be welcome to join the office hours, which happen weekly. Details can be found in the #office-hours stream
This repository is in an intermediate state - as you noted, the move to masonry is planned, and the work towards that is in-progress (see #masonry > Porting Masonry to Vello).
It's unfortunately hard to have significant contributions until that work is complete.
Button is unable to use a borrowed value, because there are always two Views living at the same time, the current moment's and the next moment's. In between these, we need to have mutable access to the app state, which means that the "current" borrowed str would become invalid. I don't think we've looked into alternatives at the moment. I wouldn't be surprised if we settled on Arc<str> or something very similar to that SharedString type.
In terms of embedding a widget within a button, which I think is what you're asking?
That should be possible, but would probably not be type erased, and would probably use generics.
I think background colour is not in style, because style only cares about the layout properties provided by Taffy. I haven't dug into it, however

Why isn't taffy a central part of Xilem? Seems like

I'm not clear where the sentence fragment is leading here. I think we're still evaluating options for layout, but Taffy is the most likely candidate. However, I don't think we want to force every widget to use it, if possible.
GPUI's giant style struct might not line up very well with the incremental updates Xilem is aiming to use, but I haven't dug into it very far.
I'm not sure how pointer events handled.

Won't it increase compile times?

Not necessarily. In general it's often the case though. It's probably weighing between advantages of static analysis and slightly faster compile times. From my experience it's not too bad when avoiding issues like https://github.com/rust-lang/rust/issues/105900, I think e.g. chumsky and warp suffers from that. IMO the advantage of static analysis is a better trade-off though, since incremental compilation already makes this quite bearable (as I think hot-reloading is the main motivation to keep compile-times low). Also since the reactive layer (View) is separated from the lower stack, this is likely less of an issue.

GPUI's giant style struct might not line up very well with the incremental updates Xilem is aiming to use, but I haven't dug into it very far.

The more I think about it, the more I'm inclined towards using ECS for style attributes (and will probably start some experimentation on that soon with bevy-ecs)
Anyway OT, this should probably continue on zulip...

This issue isn't tracking anything actionable, so I'm going to close it.


Move some methods from Traversable to Seq

Because Traversable will be extended by Map in near future

Great, that makes sense!


Citizenship support

I would highly recommend you to  add citizenship countries as an improvement  for this plugin.
Thank you

What do you mean by "citizenship countries"?

I mean Nationalities. for example, American, German, Turkish, Irish,... etc.

So for example, the British Virgin Islands would say "UK"?
Or are you looking for the name of the nationality? So for United States of America, it would say "American"?

I am looking for the nationality. just like your second example.

That's not really what the plugin is designed to do. If you need to use it for that purpose, I'd suggest changing the label. So instead of asking "What is your nationality?", use "What country are you from?" or "I am a citizen of" followed by the drop-down.


Shutdown on boot

Hi 👋
Firstly I wanted to say that I'm very fascinated by this project, awesome, good job 🤩
But I have a problem
I tried many ways to start it up, and decided that modprobe is the way to go
Later I even found a tutorial from gentoo wiki
It's not always working, but I think the closest where I can get is when my laptop shuts down on boot 😁
What can I do to make it work 🙏
Thank you

I don't know this package doesn't seem to like gentoo very much an I've never used it. Maybe you could send in some logs to help me debug the issue?


fix issue #586 : cache should handle appengine memcache 1000000 bytes…

… limitation

@benamar Thank you for proposing this pull request.  Are you still interested in having it merged?


MetaMaskConnector not install but ready field is true

Describe the bug
I am building chrome extension with reactjs that connect with metamask.
I want detect metamask extension is ready or not. The problem is when i remove metamask extension. When call connect(), it doesnt throw error or anything only show show status is 'loading'
My code below
Link to Minimal Reproducible Example
No response
Steps To Reproduce
import { MetaMaskConnector } from 'wagmi/connectors/metaMask';
import { createExternalExtensionProvider } from '@metamask/providers';
const metamaskProvider = createExternalExtensionProvider();

const { chains, publicClient, webSocketPublicClient } = configureChains(
  [arbitrum, arbitrumGoerli, bsc, bscTestnet, mainnet, polygon, goerli],
  [publicProvider()]
);
const config = createConfig({
  autoConnect: true,
  connectors: [
    new MetaMaskConnector({
      chains,
      options: {
        // @ts-ignore
        getProvider: () => metamaskProvider,
        shimDisconnect: true,
        UNSTABLE_shimOnConnectSelectAccount: true,
      },
    }),
  ],
  publicClient,
  webSocketPublicClient,
});
<WagmiConfig config={config}>
          // Rest of the code
</WagmiConfig>

Wagmi Version
1.0.2
Viem Version
0.3.21
TypeScript Version
No response
Check existing issues

[X] I checked there isn't already an issue for the bug I encountered.

Anything else?
No response

Why are you using v1? 👀

Why are you using v1? 👀

I can't figure out how to use const metamaskProvider = createExternalExtensionProvider(); with v2

you don't need that, the basic config will do


New REST-services development use cases

More REST-service development details should be described in documentation:

How to use new (starting from 2.3) @RestSerivce and @RestMethod annotations
How to implement pulicitly(anonymous) available endpoints (incl. necessary security configurations)
How Spring @RestController and OpenAPI addons can be composed with jmix

Here: https://docs.jmix.io/jmix/rest/business-logic.html


Fix dojo version

That appears in footer
This template is for your information. Please clear everything when submitting your pull request.
Note: DefectDojo is now on Python3.5 and Django 2.2.x Please submit your pull requests to the 'dev' branch as the 'legacy-python2.7' branch is only for bug fixes. Any new features submitted to the legacy branch will be ignored and closed.
When submitting a pull request, please make sure you have completed the following checklist:

[x] Your code is flake8 compliant.
[x] Your code is python 3.5 compliant (specific python >=3.6 syntax is currently not accepted).
[ ] If this is a new feature and not a bug fix, you've included the proper documentation in the ReadTheDocs documentation folder. https://github.com/DefectDojo/Documentation/tree/master/docs or provide feature documentation in the PR.
[ ] Model changes must include the necessary migrations in the dojo/db_migrations folder.
[ ] Add applicable tests to the unit tests.
[ ] Add the proper label to categorize your PR.

I think it should only become 1.6.0 when merging into master. I think current status should be
master: 1.5.4
release/1.6.0: 1.6.0-rc (or .rc or RC or something)
dev: 1.7.0-dev (as dev will become 1.7.0 if I understand correctly)

OK, so I don't like your proposal :-P
What would eventually be a more painless alternative yet agnostic enough, to the way the version is currently retrieved?

I am open to be convinced, but why would it make sense to have dev branch the same version number as master and rc branch?

For me the dev branch is for developing the next version, so at the moment we could use 1.7.0 there. The master is the latest version - at the moment 1.5.x and the current release branch has version 1.6.0.
Otherwise we need to automate this process because we have to update the version very often.

I think we should stick what everybody else is doing and not invent something different. a dev branch is not a version or anything, so it should just be called dev or something like 1.7.0-dev to make clear it's a dev version and not a stable pinpointed version number. Same for RC it should be 1.6.0-rc in this case. Master should be 1.5.4 and when we release it should become 1.6.0. And then when a hotfix branch is there it should be 1.6.1-hotfix and master becomes 1.6.1 when released.
Changing the version number is the least of our problems and one of the reasons the person doing the releases should have write access to all branches.

For me it isn't super important how we do it, but we need a concept and should document it. The version from @valentijnscholten is also great for me.

OK, this is fine. I modified the file. We will need a way to "think" about it, or not.


Varnish questions

Hi David,
I'm starting using warden on our internal projects, have a few questions about varnish config.
Thank you so much for developing & supporting it!

in the default.vcl file in the image varnish 4.1 we have line "# The minimal Varnish version is 6.0". Is there any real things why it shouldn't work? We're using this version on production, so would like to have as close env as possible.
I see that in comparison to the default.vcl in the magento core file is quite different, is there any reasons for that? I'd like to have as close config as possible to production
I see you have some /health.php file in the varnish config - is it something custom that you're using or it's just a mistake that could be removed?
I don't see any exceptions for xdebug headers in varnish, but have special case for blackfire, does it pass xdebug somehow when page is already cached?

in the default.vcl file in the image varnish 4.1 we have line "# The minimal Varnish version is 6.0". Is there any real things why it shouldn't work? We're using this version on production, so would like to have as close env as possible.

The comment is largely there because it is in the VCL template found in the Magento_PageCache module. Consider it meaningless. Up until recently there were zero differences in the templates Magento bundles for each version of Varnish, but I believe a minor diff or two has crept in now with 6.x being the only officially supported version on latest versions of Magento (2.4+ I think?) — The important part is the vcl 4.0 at the top, which Varnish 4.1 will understand just fine.

I see that in comparison to the default.vcl in the magento core file is quite different, is there any reasons for that? I'd like to have as close config as possible to production

The VCL backed into the image is based on this template which I've been deploying Magento 2 into production with for years (which is, in turn, based on the VCL template bundled with Magento): https://github.com/davidalger/ansible-role-varnish/blob/master/templates/magento2.vcl.j2
It is, as you noticed, slightly different than what Magento publishes. The differences are summarized as:
a) Doesn't include the grace mode support that Magento added.
b) Includes Blackfire support (as you may note in my Ansible template, there is an ACL for it), you wouldn't want that as-is in production (without an ACL that is)
c) Includes X-Cache and X-Cache-Hits headers in output instead of spitting out hit/miss info in vendor specific headers only in developer mode (this is simple put useful info, including on a production system).
d) Addition of X-Requested-With to vcl_hash because of modules I ran into in the past which served different content on the same endpoint for XHR vs normal GET request.
e) Magento's template includes req.http.host in the vcl_hash because an ill-informed individual PR'd a change (Varnish always includes the host in the VCL hash per documentation and I've never had a problem even on multi-site setups without that, so I never added it to my base template…it's just added C code in the proxy)
'a' and 'd' are really the only changes of substance. You should be completely fine to use the template bundled with M2 as-is, or include th

I see you have some /health.php file in the varnish config - is it something custom that you're using or it's just a mistake that could be removed?

/health.php is something I've used in bare-metal systems for the health check on load balancers. Typically just a PHP file that reports " UP" indicating varnish -> php-fpm is responsive. Much lighter weight than the pub/health_check.php in Magento, and more appropriate for a hardware load balancer IMO, unless implementing a custom maintenance page in the VCL for example. There's no reason you need this in your production system if you're not using it, just a simple regex change, for which I default to a regex including both for compatibility with either direction.

I don't see any exceptions for xdebug headers in varnish, but have special case for blackfire, does it pass xdebug somehow when page is already cached?

Given the development nature of these images, I'd perhaps be open to a PR which accomplished the same for Xdebug, but currently if you hit a page cached by Varnish, the response will in fact come from Varnish and NOT pass back to php-debug. The Blackfire one was easy to include since it was something I already included in my base VCL template, along with an ACL to prevent abuse, in line with the VCL snippets published by Blackfire in their docs.
It may be worth noting if you do deploy with a different VCL in production, and wish to maintain full parity, you could use the .warden/warden-env.yml to mount a custom VCL into the container at /etc/varnish/default.vcl.template to override what's embedded by default.

@davidalger thank you for quite good explanation. In addition to that I see full history for this template file, now it's fully clear to me what you were doing here  https://github.com/davidalger/ansible-role-varnish/commits/master/templates/magento2.vcl.j2
I'll close this issue

For those wondering how they can actually implement a custom VCL like suggested here:

It may be worth noting if you do deploy with a different VCL in production, and wish to maintain full parity, you could use the .warden/warden-env.yml to mount a custom VCL into the container at /etc/varnish/default.vcl.template to override what's embedded by default.

Create a file .warden/varnish/default.vcl.template in your project root directory with the VCL of your choice. Make sure to keep the ${BACKEND_HOST}, ${BACKEND_PORT} and ${ACL_PURGE_HOST} in there.

Create a file .warden/warden-env.yml with the following contents:
 version: "3.5"
 services:
   varnish:
     volumes:
       - ./.warden/varnish/default.vcl.template:/etc/varnish/default.vcl.template

Run warden env up --force-recreate and enjoy your new VCL file.

Perfect @sprankhub, very helpful! It's working!
Just sharing the first few lines of our default.vcl.template which we have copied over from vendor/magento/module-page-cache/etc/varnish6.vcl. Placeholders are replaced as per your comment.
backend default {
    .host = "${BACKEND_HOST}";
    .port = "${BACKEND_PORT";
    .first_byte_timeout = 600s;
    .probe = {
        .url = "/pub/health_check.php";
        .timeout = 2s;
        .interval = 5s;
        .window = 10;
        .threshold = 5;
   }
}

acl purge {
    "${ACL_PURGE_HOST}";
}

Note:

If your Varnish container keeps disappearing, you can use docker logs PROJECT-varnish-1 to see if there is any syntax error in your VCL file


akeneo-fpm image fails at startup

The akeneo-fpm gives this back to me when issuing a docker-compose up akeneo:
Starting pimcommunitydev_mongodb_1
Starting pimcommunitydev_mysql_1
Starting pimcommunitydev_akeneo_1
Attaching to pimcommunitydev_akeneo_1
akeneo_1         | [19-Jan-2017 14:18:18] ERROR: Unable to create the PID file (/run/php/php7.1-fpm.pid).: No such file or directory (2)
akeneo_1         | [19-Jan-2017 14:18:18] ERROR: FPM initialization failed
pimcommunitydev_akeneo_1 exited with code 78

Hello @Erwyn.
This is a problem of initialization order, in the depends_on section of the compose file. I have inverted the dependencies of the nginx images: the nginx-behat one depends on akeneo, and nginx one on akeneo-behat when it should be the other way.
I will investingate it further and fix the compose file example I provide.

Oh, but then this may be my bad as well, because I ran it using the docker-compose up akeneo command thus ignoring the nginx container.

Oh, indeed. I always use docker-composer up -d, so I can't tell the result of your command ;-). But anyway, it doesn't change the fact that my compose example is wrong!

Okay so after using the normally write command docker-compose up nginx, this is what I get:
❯ docker-compose up nginx
Creating network "pimcommunitydev_akeneo" with the default driver
Creating network "pimcommunitydev_behat" with the default driver
Creating pimcommunitydev_mongodb_1
Creating pimcommunitydev_mysql_1
Creating pimcommunitydev_akeneo_1
Creating pimcommunitydev_nginx_1
Attaching to pimcommunitydev_nginx_1
nginx_1         | 2017/01/19 15:34:23 [emerg] 9#9: host not found in upstream "akeneo" in /etc/nginx/conf.d/default.conf:11
nginx_1         | nginx: [emerg] host not found in upstream "akeneo" in /etc/nginx/conf.d/default.conf:11
pimcommunitydev_nginx_1 exited with code 1

I can reproduce with docker compose up -d too, as nginx and fpm images are both with status "EXIT".
I think they don't wait for each other to be ready to communicate.

The problem has been fixed by #125. The issue was only for PHP 7.1 (branches ’php-7.1’ and ’master’). For those versions, the FPM process needs a folder ’/run/php’ to create its socket or its process identifier (according to how FPM is configured).
The problem is solved by creating this folder in the ’carcel/fpm’ dockerfile before launching the process (this impacts ’carcel/akeneo-fpm’ and ’carcel/akeneo-behat-fpm’ images too).
It does not affect PHP 5.6 and 7.0 images, as they are natively configured to create sockets and PID directly in ’/run’.
I also fixed the compose file example.
Let me know if this works for you.
Regards,
Damien

Thanks! I'll try and come back to you

As the issue has been fixed and is now one month old, I am closing it.


DateCell UI is updating only after Display or after scrolling ended

Hello,
I'm using latest version (7.0.6) of your library via CocoaPods.
I'm facing an issue while scrolling between months. For some dates I have a different UI / color and I am updating this on func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell delegate method. But it is changing only after the scrolling is ended.
May be I can use different custom cells for different type of dates. Could you please let me know if you have any other ways to fix this or I missed some settings?
Thanks,
Anusha

Hmm. ok.
Can you paste me the relevant parts of your cellForItemAt functon?

func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {

        // Setup text color
        if cellState.dateBelongsTo == .thisMonth {

            let dateCell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "DateCell", for: indexPath) as! CalendarCellView

            if Calendar.current.isDateInToday(cellState.date) {

                dateCell.todayImageView.image = UIImage(named: "Today dot")

            } else {

                dateCell.todayImageView.image = nil
            }

            // Setup Cell text
            dateCell.dayLabel.text = cellState.text
            dateCell.dayLabel.textColor = UIColor(colorWithHexValue: 0xECEAED)

            let day = Int(dateCell.dayLabel.text!)

            if let currentShift = self.shifts[day!]?.last {

                dateCell.shift = currentShift
            } else {

                dateCell.shift = nil
            }

            // Set Shift Image
            dateCell.shiftImageView.image = self.getHighlightImage(date: day!)

            if selectedDates.count > 0 && selectedDates.contains(date) {

                dateCell.isSelectedCell = true

            } else {

                dateCell.isSelectedCell = false
            }

            return dateCell

        } else {

            let outDateCell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "OutDateCell", for: indexPath) as! CalendarCellView
            return outDateCell
        }
    }

What version of the library are you using. 7.0.6?
Also, is this the line of code you are talking about with the color?
dateCell.dayLabel.textColor = UIColor(colorWithHexValue: 0xECEAED)

If looks like you are setting a text color to all monthDates.
This code looks normal.
Are you saying that the cell text color is only being set after you scroll?

No, the cell highlight image. It's depends on added shift on that date.

OK
dateCell.shiftImageView.image = self.getHighlightImage(date: day!)

Is the getHighlightImage taking a while to execute because of some server connection or some long execution?
If this function grabs the image immediately, then there should be no problem. If it takes a while, then this may be out of the control of the library. Can you confirm if this function is slow or not?

This function is checking some stored properties only. May be all conditional things in the delegate method makes it slow. Let me try with different custom cells. Thanks!

the cellForItemAt function by itself looks light-weight. Its not bad. I doubt it is the cause of the slow image.
However, i do not know what is in this function --> getHighlightImage
Is that the one that has many conditional things?
let me know.
in the mean time i'll close this issue.
But if you find anything then reply here and i'll re-open if it turns out to be a calendar issue.


Ridiculous

"Also, make sure that your Azure account belongs to a single Azure AD tenant or directory and is set to the same Azure AD tenant or directory that was used during gateway installation"
Lack of support for multiple tenants is ridiculous!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7892e678-a98f-73fa-7c54-1a8a921f35c7
Version Independent ID: 064c9db9-5e18-7266-1740-ada24a2086a1
Content: Access data sources on premises - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-gateway-connection.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

Hi @jwisener, thanks for the feedback!
To provide product comments about the on-premises data gateway, please post that feedback for the gateway engineering team in the Power BI space on their forum here:
https://ideas.powerbi.com/ideas/idea/?ideaid=c26e8927-04dd-4444-8aeb-66e8de65485f&page=2
This GitHub channel is for driving doc updates and improvements. Here is the main on-premises data gateway docs, which covers the other services where you can use the gateway:
https://docs.microsoft.com/data-integration/gateway/service-gateway-install
For more info, please see the main gateway docs here:
https://docs.microsoft.com/data-integration/gateway/service-gateway-install

There is already something out there:
https://feedback.azure.com/forums/287593-logic-apps/suggestions/20569843-on-premise-data-gateway-support-for-multiple-subsc
So either this documentation is "wrong" or that "status of completed" on the above link is wrong.

Hi @jwisener, the feedback item that you found will be regressed. In Azure Logic Apps, multiple subscription support applies to on-premises triggers and actions where you can select an Azure subscription and a gateway resource that exists in that subscription. Provided you have subscription access, this capability lets your logic app use a gateway resource that's in a different subscription. This update removed the requirement that you had to use a gateway resource in the same subscription as your logic app.
However, the gateway resource itself is still restricted to a single Azure subscription in a single Azure AD tenant and to a single gateway installation. I've queued an update to the topic, Connect to on-premises data sources, that helps clarify this capability.
Thank you for raising this issue and helping to improve the docs!


perf tool show application based on hertz cpu cost too high

Describe the Question
A clear and concise description of what the question is.
Reproducible Code
Please construct a minimum complete and reproducible example for us to get the same error. And tell us how to reproduce it like how you send a request or send what request.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your question.
Hertz version:
0.5.2
Environment:
go 1.19.3
Additional context

use
go nev

to copy Environment:
Are you using netpoll or the standard library and Is it possible to provide a code that can be reproduced?

already compile go code to binary
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/lichard/go-workspace/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/lichard/go-workspace"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.google.cn"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/lichard/userstate/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1784992758=/tmp/go-build -gno-record-gcc-switches"

We can use https://github.com/hertz-contrib/pprof for CPU sampling.

Use dlv to attach fb_uss process,fb_uss looks like processing no request any more

Using dlv attach the process fb_uss, but can't find the thread id 13299 or 11160 found by cmd ''top -d 1  -p 11160 -H''

The current clues do not lead to a specific problem, we need more detailed sampling information to locate the problem e.g. using https://github.com/hertz-contrib/pprof and it would be good if a reproducible demo could be provided.

From the picture,we can see that the cpu load dispatchs no balance to every cpu cores

In my personal opinion, this is inefficient and we need more detailed sampling information or a code that can be returned.

ok,I will offer pprof sample information later

👍🏻


Improve handling of client dataset creation attempt without domain

Improve the client's behavior when it attempts to create a dataset but no data domain is defined/provided.  Previously, an error was raised.  Now, a response object will be returned by the relevant function to the client and displayed, indicating that the attempt failed and giving some information on why.  E.g., attempting something like this:
python -m dmod.client dataset create --format NGEN_REALIZATION_CONFIG test_composite_1 config

will now yield something like this:
{
   "message" : "Could not inflate keyword params to object due to RuntimeError - Cannot create DataDomain without at least one finite continuous or discrete restriction",
   "reason" : "No Dataset Domain Provided",
   "success" : false
}

This relates to #531, although strictly speaking this was not a bug preventing valid dataset creation (only an obscuring of an invalid attempt to create one).

FYI, @aaraney and @hellkite500, I've resolved the previous test failures by merging in recent upstream stuff.

Merge at will


Upgrade operator

Description
Upgrade the operator to use Go 1.21 and UBI 9.4 to ensure the resulting image is A grade.
Which issue(s) does this PR fix or relate to

Fixes #RHIDP-2646 - https://issues.redhat.com/browse/RHIDP-2646

PR acceptance criteria

[x] Tests
[ ] Documentation
[ ] If the bundle manifests have been updated, make sure to review the rhdh-operator.csv.yaml file accordingly

How to test changes / Special notes to the reviewer

Verify the build works by running make image-build.
Ensure all tests pass by running make test.
Review the changes to go.mod, Dockerfile, and renovate config.

/cc @nickboldt
For additional review.


Add subl to osx.aliases.bash

Sublime Text is a popular editor on Mac OS X. It would benefit many people if subl is added to osx.aliases.bash.

Duplicate of #701 - closing.


[common] adding a new fallible wrapper for copy_from_slice

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

Could you expand in the PR description a bit? What does this do, why is it necessary, where would it be used, will there be any tooling support to ensure it gets used?

I have a fairly pessimistic view on these sorts of code changes and have a hard time understanding the motivation behind this. Maybe as Rain asked it would be nice to see a clear rationale for why this is something we want to pursue?

For sure, @mickayz floated the idea to me and I thought I would write a PoC to collect some ideas and start a discussion. So here we go:
If you remember the first audit we had, they found a reachable panic in admission control which as a copy_from_slice called with arguments of different sizes. Since then, we were wondering why the stdlib doesn't provide a fallible alternative, and what other std functions can panic (perhaps surprisingly) in our code.
Talking to the SLEDGE people, they pointed us to code that looks like this: https://github.com/diem/diem/blob/2ce5695e65313724c16f010b8587a55b42711912/crypto/crypto/src/ed25519.rs#L367:L372 and we had a discussion

I figured anyhow would play nice with callers who might already use anyhow, what do you suggest as an error here? A string literal or an enum with a single item?

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LSR dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

LEC dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

release binaries dependency change summary:
target packages:
  A fallible 0.1.0 (workspace, path 'common/fallible')
    * features: [none]

@davidiw ?

/land


License

What's the license for this?

en, MIT, I guess, as you like.

@seedante Would you like me to submit a pull request with the MIT License added to the project?

No need for this, just an animation code for other's design.

Thank you for your advice, I just think there is no need for now.

@seedante Just in case you're not aware, this can't be used in production for most apps without a proper license attached. Cheers.

@mitchellporter really? We have talk so mush enough to add license.


connection_type is not a part of ConnectorConfigArgs

It appears that connection_type is in DestinationConfigArgs, but based on the documentation (https://fivetran.com/docs/rest-api/connectors/config#configparameters_107) I think it should be in ConnectorConfigArgs.

UPDATE: It looks connection_type moved between v0.2.0 and the current version (v0.4.1) of the Terraform provider for Fivetran. Do you have any plans to rebuild/rerelease the pulumi-fivetran plugin?

I think this has been fixed in https://github.com/fivetran/terraform-provider-fivetran so syncing https://github.com/benesch/terraform-provider-fivetran/tree/main/fivetran would probably fix it.

This seems to have been resolved in more recent releases of this project.


Fixed dropdown bug

Hi Oliver,
I was playing around with the Blockly demo, and I noticed that drop-downs do not work. So I made this quick fix.
Cheers

Hi there! Thank you for this. Sorry for taking so long to notice, I wasn't receiving notifications for this repo and I didn't expect any pull requests or comments so I didn't check. Tijs helped me fix that bug but not before you found it. I wish I'd noticed sooner because it was annoying me for a while.


Adding troubleshooting section for bundle-build

Description
Including setup for install pyyaml if it is missing
Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

I would prefer that we add a Pipfile to these scripts and document that you need to run pip install beforehand. Consider not merging this and adding that?

This is a moving target because so many things can go wrong and so many dependencies could be missing.
I would prefer that we add a Pipfile and a Pipfile.lock to these scripts and document that you need to run python3 -m pipenv install beforehand to make execution predictable (I opened #160). Consider not merging this and implementing it? Example: https://github.com/aws-samples/aws-marketplace-api-samples/tree/main/catalog-api/enumerate-products-python

This is a good alternative - I am happy to hold off on merging, if someone was to implement the appropriate pipfile

Done in https://github.com/opensearch-project/opensearch-build/pull/163, shall we close this one?


Minor captions updates

I want to see the netlify preview and see if I'm screwing something up with the pictures or if it's my devcontainer

OK, the preview looks as I expect; must be the devcontainer.


[BUG] Extension overrides default keybinding for opening the debugger view

Describe the bug
The extension overrides the default keybinding for opening the debugger view (Ctrl+Shift+D)
To Reproduce

Install the extension
Press Ctrl+Shift+D

Expected behavior
Debugger view is displayed in the left panel
Screenshots

Logs
Empty if I run it immediately after VS Code starts, but if I wait a bit before entering the keybinding I get this instead:
 CMD :npm --prefix="/home/dthompson/Documents/vscode-xml" install "/home/dthompson/Documents/vscode-xml" --quiet && npm list --prefix="/home/dthompson/Documents/vscode-xml" --prod -json > "/home/dthompson/Documents/vscode-xml/target/npmlist.json" --quiet
 STDOUT :
><EMAIL_ADDRESS>preinstall /home/dthompson/Documents/vscode-xml
> npx npm-force-resolutions

audited 689 packages in 6.82s

4 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

 STDERR : npx: installed 5 in 1.789s

VSCode(please complete the following information):

OS: Fedora 33
VSCode version:
1.51.0
fcac248b077b55bae4ba5bab613fd6e9156c2f0c
x64
Dependency Analytics Version: 0.2.1

CHE7/Theia(please complete the following information):
I haven't tested in Theia or Che
Additional context

We should definitely not override any built-in keybinding. I might be OK in a very well defined and restricted context though.


[Java] Enable direct access to utility methods in ProtobufData

Enable direct access to utility methods in ProtobufData that deal with the message description on a more granular level.
ProtobufData presents some great functionality that allows dealing with the Protobuf message descriptors. The intention of this PR is to provide access to the methods that deal with these descriptors on a more granular level. This would make it more flexible for the library clients to deal with their Protobuf message.
In terms of extending the functionality this would make it possible for clients to adjust some specific moments of the conversion from Protobuf descriptors to Avro schemas.
Make sure you have checked all steps below.
Jira
I have not created an issue for this. The intention of this PR is to facilitate the discussion over this very simple solution.

[ ] My PR addresses the following Avro Jira issues and references them in the PR title. For example, "AVRO-1234: My Avro PR"

https://issues.apache.org/jira/browse/AVRO-XXX
In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason: the functionality is already tested. It just allows access on a more granular level of the functionality.

Commits

[ ] My commits all reference Jira issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain Javadoc that explain what it does

Thanks @terusus
Can you create a JIRA ticket? This allows us to generate changelogs.

@Fokko, the PR now properly references a Jira ticket. Also, I have created a proper commit message.


spawn autotrace ENOENT error

Hi,
I have simple project with index.js like this:
var autotrace = require('autotrace')
var input = 'test1.png'
var output = 'out.svg'

autotrace(input, {outputFile: output}, function(e, b){
    if(!err) console.log('done')
})

When I run node index.js, I receive:
events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: spawn autotrace ENOENT
    at exports._errnoException (util.js:1026:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:359:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

Using Node v6.9.1, yarn 0.18.1, Windows 10 Pro x64, runnig just from cmd.
Do you have any idea how to resolve that?

I believe you need to install the autotrace binaries found via here and make sure that they are available through your path. (If you can run autotrace from the commandline, you should be good to go.)

I am also running into the same error running the demo code from the ReadMe


Move raw files from app/docs to app/assets/<version>/raw/

Description:
Move raw files from app/docs to app/assets/<version>/raw/
They were being processed by Jekyll and converted into HTML files. This change prevents that from happening as they are now considered static files.
This also updates the plugins so that they use the new paths.
I don't think we need redirects for this, because afaik these were used internally to embed files in pages.
@lahabana WDYT?
TODO:
We'll need to update the github action so that it adds the files to the new path, and update docs.konghq.com accordingly.
Did you sign your commit? Instructions Y
Have you read Contributing guidelines?


Update code signing configuration to account for crossgen-ed assemblies

Update signing config to account for files that we have to re-sign because we crossgen them and redistributable them in our installers.

Merging to unblock failing CI. It is failing on CI because we did not code sign the files which we crossgen.


Some of the macro names are out of date in the README

I was getting an import error for lt and looked at the addon folder and saw that lt was defined in lt-key.js. I noticed most of comparison macros are named similarly.
Uncaught Error: Could not find module `ember-awesome-macros/lt` imported from `frontend/pods/components/appointments-list/component`

It's a bit more cryptic if you import in this way: import { lt } from 'ember-awesome-macros';, because you get the error:
Uncaught TypeError: (0 , _emberAwesomeMacros.lt) is not a function

Yeah I was trying to cram a few more macros before releasing another version. Want me to just release now?

It's fine with me if you want to hold off, I just wanted to raise it up for the sake of people trying out the addon.

Released v0.11.0. I'm still working out the best API in these pre 1.0 versions. Sorry for the breaking changes.


[$250] Split expense - qa.guide is included in a split expense from an announce room

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.73-0
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Navigate to staging.new.expensify.com
Create a workspace
Go to announce room > Click on + icon inside the compose box
Click on split expense
Enter an amount and click on next

Expected Result:
qa.guide becomes excluded in the split
Actual Result:
qa.guide is included in the split expense
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/31fb5f2a-75ef-467f-8980-8e3ec2bfd173

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f0d7293f591a8751
Upwork Job ID:<PHONE_NUMBER>382258688
Last Price Increase: 2024-05-16

Issue OwnerCurrent Issue Owner: @laurenreidexpensify

We think this issue might be related to the #vip-split.

@tienifr's proposal looks good to me.
🎀 👀 🎀 C+ reviewed

Flo is on a half day today and OOO on Monday, so ETA for review is Tues 21st earliest

Can someone clarify why this is a bug? I don't get it. What's wrong with the behavior and why do we want to stop it? 😕

Hm, it kinda makes sense, @laurenreidexpensify do you also think this reasoning applies to "split"?

Right, but I am wondering for example if there's a use case for<EMAIL_ADDRESS>to want/need to split with<EMAIL_ADDRESS>What do you think @laurenreidexpensify ?

I'm sorry I haven't had a chance to review this in depth today but have pinned it to look at first thing tomorrow and add a better summary of recommendation.

I am wondering for example if there's a use case for<EMAIL_ADDRESS>to want/need to split with<EMAIL_ADDRESS>W

Yeah that is definitely the case when we are testing split on the beta, where people are very likely using their Expensify accounts with their friends who are using @notexpensify.com accounts.
This is a weird case of when corporate accounts overlap with consumer accounts....

Overall I think this a reasonable polish [LOW] priority ?

Sure, but first it seems like we need to agree with the wider team what we actually want to accomplish. I can maybe get behind the case of never wanting to split with @team.expensify.com, but I am not convinced that we should prevent<EMAIL_ADDRESS>from splitting with<EMAIL_ADDRESS>

I am confused: I tried to reproduce and failed. When I create a workspace, I am the only member of the #announce room (which is what I expected). How do you create a workspace and simultaneously have qa.guide be a part of the #announce room?

I'm trying to reproduce this issue now and not able to reproduce with an @expensify.com email account. I'm going to close this issue because:

It's not widely reproducible - there is likely something missing in the repro steps and it's hard to repro from an @expensify.com account
There is an assumption that customers will find this confusing, but that is a bridge we will cross later
writing a condition to include / exclude a subset of domains from being part of a specific split scenario seems like an unnecessary addition to split flow at this point
we can reopen if / when users report it as being an issue


fix(cloud): just return a string

When I run the cloud function example under http://localhost:1337/test I get an error message  {"code":141,"error":"res.success is not a function"}. This fixes it.

Thanks!

🎉 This change has been released in version 1.2.0


[Question] Recommended Injector

Is there any good undetected injector I should be using? I am currently using Lit Injector 1.6.1 and it seems to be fine but idk.

i used rando as a base for mine

https://github.com/danielkrupinski/curiuminjector-csgo

https://github.com/danielkrupinski/Inflame

https://github.com/bananasss00/Rando-Injector


Memory leaks in dev branch

During compression:
==32661== 4,096 bytes in 1 blocks are definitely lost in loss record 21 of 22
==32661==    at 0x482E364: malloc (vg_replace_malloc.c:292)
==32661==    by 0x4D8F63F: density_memory_teleport_allocate (memory_teleport.c:40)
==32661==    by 0x4D8FD93: density_stream_create (stream.c:40)
==32661==    by 0x4D8095F: squash_density_create_stream (squash-density.c:213)
==32661==    by 0x486264F: squash_codec_create_stream_with_options (codec.c:507)
==32661==    by 0x4862F4B: squash_codec_process_file_with_options (codec.c:1064)
==32661==    by 0x486308D: squash_codec_compress_file_with_options (codec.c:1137)
==32661==    by 0x9879: main (squash.c:290)
==32661==
==32661== 262,172 bytes in 1 blocks are possibly lost in loss record 22 of 22
==32661==    at 0x482E364: malloc (vg_replace_malloc.c:292)
==32661==    by 0x4D8F35D: density_encode_init (main_encode.c:87)
==32661==    by 0x4D8FE81: density_stream_compress_init (stream.c:98)
==32661==    by 0x4D805F1: squash_density_process_stream (squash-density.c:406)
==32661==    by 0x4866125: squash_stream_process_internal (stream.c:515)
==32661==    by 0x48662CF: squash_stream_process (stream.c:621)
==32661==    by 0x4862FC5: squash_codec_process_file_with_options (codec.c:1087)
==32661==    by 0x486308D: squash_codec_compress_file_with_options (codec.c:1137)
==32661==    by 0x9879: main (squash.c:290)

And decompression:
==629== 4,096 bytes in 1 blocks are definitely lost in loss record 21 of 21
==629==    at 0x482E364: malloc (vg_replace_malloc.c:292)
==629==    by 0x4D8F63F: density_memory_teleport_allocate (memory_teleport.c:40)
==629==    by 0x4D8FD93: density_stream_create (stream.c:40)
==629==    by 0x4D8095F: squash_density_create_stream (squash-density.c:213)
==629==    by 0x486264F: squash_codec_create_stream_with_options (codec.c:507)
==629==    by 0x4862F4B: squash_codec_process_file_with_options (codec.c:1064)
==629==    by 0x48630B9: squash_codec_decompress_file_with_options (codec.c:1162)
==629==    by 0x988D: main (squash.c:292)

Fixed in 43f09a98a52d03dbb7264baf301f1b18367bbf8e

With this applied I am able to successfully compress and decompress all the files in squash-benchmark, as well as all the unit tests in squash, on my ODROID C1.

Ok I've done testing on my side so unless you fall on something unwanted on your side with the latest dev branch, it's a go ! Thanks

Ok I've done testing on my side so unless you fall on something unwanted on your side with the latest dev branch, it's a go ! Thanks

I've done all the testing I have ready to go (unit tests and squash-benchmark are pretty much it, though those are often enough to reveal problems).  The only other thing I really want to do is run it through a fuzzer, but I don't plan on doing that until I get a squash release out the door.

Released 0.12.0 beta. I linked to Squash here http://encode.ru/threads/2155-Density-0-12-0-beta, I hope that's ok for you !


Added Serverless & Container Aware Architecture (SCAR)

Added [L 388] https://github.com/grycap/scar
Serverless Container-aware Architectures (SCAR) is a serverless framework that allows easy deployment and execution of containers (e.g. Docker) in Serverless environments (e.g. Lambda)
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines
I read it again, I promise
The project submitted is conform to the quality standards outlined in the contribution guidelines
Yes
Go to the contribution guidelines and read it again.
Yes, I read it again

RULES (because you probably didn't read the guidelines):

ORDER: The entries are in lexical order (English letter order)
CREDIT: Each entry must contains the name of the author with a link to its github account!
LINK: the link should be to the source code (https://github/account/project) not the website (https://myproject.io <- no!)
MONEY: indicates if one needs a paying subscription to use that project you could just add ($$$) next to the name ([my project - $$$] (link to my project) )

@devhkr Updated the PR with your feedback. Thanks!

Hi @devhkr OK, I think it is right now. Thanks for the help.

Anyway, thanks for sharing @vegasbrianc and thanks a lot for your patience.


Update README with code sample fixes

Code for sample repositoriesData (line 54) missing closing brackets.

What are your thoughts on changing the following
 { name: "admin-on-rest", data: [{ date: new Date('2014/09/15 14:21:31') }, /* ... */ ,] },
to
 { name: "admin-on-rest", data: [{ date: new Date('2014/09/15 14:21:31') }, /* ... */] },
I am failing to see the value of  , after /* ... */ on lines 55 and 56

No problem for the last change. I guess it was on several lines before, but Prettier reviewed it. :)

Thanks! :)


"Sleep" targets actors invulnerable to its effect

Describe the bug
Sleep spell does target actors immune to its effects.
In our case our Elf (who has the "Fey Ancestry" race feature and hereby cannot be targeted by sleeping spells) was put to sleep by the automation of the "Sleep" spell (https://github.com/MrPrimate/ddb-importer/blob/3.5.6/macros/spells/sleep.js).
It would be nice if the spell would check for "Fey Ancestry" as race features or anything that encases that and anything that is not already checked. (I've seen that the macro checks for "construct" and "undead" race, and have hacked around for it to include "elf", but as we are beginners to DnD, I am not certain if that mitigates all problems causing this)
To Reproduce
Steps to reproduce the behavior:

Cast the spell with an elf (with the "Fey Ancestry" feature) with sufficient low HP in the radius.

Expected behavior
Any actor with the "Fey Ancestry" or similar perks should be unable to be affected by this spell.
Environment:

Firefox 119.0 / Chromium 114.0.5735.289, Electron 25.9.1 (https://github.com/theripper93/fvtt-player-client/releases/tag/1.4.3)
Foundry Version 11.314
5e System Version 2.3.1
Module Version 3.5.6

Some improvements in the next version, will check for elf and half-elf and also character import will add Sleep as an immunity to those characters with fey ancestry which the Macro already checks for.


Add language: Scrypto

[x] I am adding a new language.

[x] The extension of the new language is used in hundreds of repositories on GitHub.com.

Search results for each extension:

https://github.com/search?q=path%3A*.rs+"scrypto%3A%3A"+fork%3Atrue+path%3A*.rs+fork%3Atrue&type=Repositories&ref=advsearch&l=&l=

[x] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

https://github.com/radixdlt/scrypto-examples/tree/main/core/gumball-machine
https://github.com/radixdlt/scrypto-examples/tree/main/core/payment-splitter

Sample license(s):

[x] I have included a syntax highlighting grammar: https://github.com/radixdlt/wg-grammar

🤔 I have only the teeniest of weeniest of experience with Rust, but this looks a lot like normal Rust to me (kinda like a normal library/crate) and seems to be used more like a framework like Rails than a language. The current Rust grammar is certainly not struggling at all to highlight the few files I've looked at.
How is this "language" not Rust and why does it need its own language entry with TextMate compatible grammar (the one you've added is not usable by Linguist)?

🤔 I have only the teeniest of weeniest of experience with Rust, but this looks a lot like normal Rust to me (kinda like a normal library/crate) and seems to be used more like a framework like Rails than a language. The current Rust grammar is certainly not struggling at all to highlight the few files I've looked at.
How is this "language" not Rust and why does it need its own language entry with TextMate compatible grammar (the one you've added is not usable by Linguist)?

Hi @lildude  - thanks for picking up this review so quickly. It looks like the PR needs some tweaks and improved explanation - please accept our apologies for wasting your time with this preliminary review. We'll pick up the tweaks shortly, but first some explanation!
Justification
You're quite right that Scrypto is on one level "simply Rust", but it is quite a substantial extension to Rust. And we believe that there is sufficient justification for it to both (A) use a different grammar in theory and (B) have it classified separately to Rust.
Rust background
For a little bit of background, Rust has a powerful macro system for custom DSLs.  So macros are in theory very general, which means that the Rust textmate grammar can't assume much about the input to a macro. It therefore does its best by using an error tolerant application of the standard Rust grammar. This does a reasonable effort job highlighting the inputs to most macros - but it can't capture the nuance of the grammar of any particular macro. See for example typed-html where it fails to understand that the input is supposed to be html (followed by the : Stdweb suffix).
Scrypto as a distinct grammar
Scrypto is a set of rust libraries, procedural macros and a distinct build chain. It is designed for building packages deployed to the Radix public network. It makes heavy use of procedural macros, for example the #[blueprint] attribute macro, enable_method_auth! function-like macro, and others in this file. These macros capture security-critical configuration, but the syntax highlighting offered by the Rust grammar isn't great. For example, it can't tell  => is a separator, nor can it distinguish patterns in enable_method_auth!, such as OWNER or PUBLIC being keywords in the DSL. A typical Scrypto program often has lots of security-critical configuration in these macros, and we'd like to be able to add custom syntax highlighting to these macro segments clearer, and (eg) easier to review.
Scrypto as a distinct classification
When it comes to classification, from a developer perspective, Scrypto code is built to be deployed to the public Radix network. It is compiled with a special CLI, which creates special artifacts from the code, including a deployable package and interface definitions.
For developers, there is a very clear distinction between code which is "Scrypto" (which will be deployed to be run inside the Radix network) compared with general "Rust" application code (which may also be in their repository, but would eg form their web APIs or other parts of their application), and they'd welcome such a distinction in their repository records.
Proposed PR changes
For now, taking a look at the PR, it isn't right, so we'll go away and rework the PR, do an internal review, and share with you once ready.
As a first step, we'd like to rework the PR to:

Start with just using the current Rust syntax highlighting grammar (ie not pull in any custom code)
Add a couple of very specific heuristics which have to be satisfied to label a file as "Scrypto" rather than "Rust"

This will satisfy the classification part, and we can look to add a Scrypto-specific textmate grammar in future.
Obviously very happy to have a discussion / hear your thoughts on this!
Thanks,
David + the RDX team

Thanks @dhedey I think your explanation makes sense on first read, but I'll ruminate over it. Maybe things will become clearer with time as things evolve and popularity grows.
Current usage is a very long way away from being considered if we make the search more specific, and exclude forks and the radixdlt org (as it has an undue influence on the number of files).

Closing as the requested changes have not been made in the 10 months since requested. Feel free to open a new PR when you have the time to complete the PR.


Add support for user ids

Allow to filter bot users either by usernames or by user ids.
 Otherwise, if it is filled with integers (e.g: [1234, 5678]), we filter by user ids.
Was discussed in #107

Nice code!
Is it possible to support list, which can contain both username and user_id like: ["@karfly", 12345]?

Should be good now :)

@clemsau
NICE! Let's get it merged!


cargo_generate_lockfile: use color to also indicate the change

In English, Updating and Removing are the same length and scanning
the list for changes is hard. Use color to help indicate the kind of
change that is occurring.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

Hmm, playing around with it, it seems that cyan for Adding and green for Updating might be better since Updating is green elsewhere.

Here's a screenshot with the colors switched as per my previous comment.

@bors: r+
Nice idea!

:pushpin: Commit 7d5c364 has been approved by alexcrichton

:hourglass: Testing commit 7d5c36447ebda14d9f3967ca1c48b4d2f8cc7165 with merge 0dd55e8f9571a6c3b635ef510f47c06b6e778ec1...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 0dd55e8f9571a6c3b635ef510f47c06b6e778ec1 to master...

Oh, I hadn't done the color flip, sorry. New PR incoming.


pigpiod_if2.c

The code here
int notify_pause(int pi, unsigned handle)
{return pigpio_command(pi, PI_CMD_NB, handle, 0, 1);}
Should it not be PI_CMD_NP rather than PI_CMD_NB?

From just looking at the source you posted, it would seem so.  I'll accept a PR if you can test to verify it is indeed broken, fix and retest showing working.  Thanks in advance.

unfortunately I am pretty new to the library so just starting out and finding my way around so I don't have any use case to test with. I was just looking through all the functions and noticed the above.
If you see in pigpio.c
case PI_CMD_NP: res = gpioNotifyPause(p[1]); break;
(line 2199)
This can never be called from the remote process because of the mismatch.

If you plan to write some code requiring this, I can add a patch to the development branch.  If all's well then it will get picked up in the next release.

I think I just decided that since Pause is equivalent to Begin with bits 0 are identical I'd just use Begin.  It's the same in the Python.  More of an oddity rather than an error.

Thanks, makes sense. I found another
int i2c_process_call(int pi, unsigned handle, unsigned reg, uint32_t val)
and
int i2c_block_process_call(int pi, unsigned handle, unsigned reg, char *buf, unsigned count)
both use PI_CMD_I2CPK and PI_CMD_I2CPC is not used anywhere. I would guess there is similar valid reasoning here too?

@darkyellow
No, that is an error.  The code for i2c_process_call should be.
The code should be
int i2c_process_call(int pi, unsigned handle, unsigned reg, uint32_t val)
{
   gpioExtent_t ext[1];

   /*
   p1=handle
   p2=reg
   p3=4
   ## extension ##
   uint32_t val
   */

   ext[0].size = sizeof(uint32_t);
   ext[0].ptr = &val;

   return pigpio_command_ext
      (pi, PI_CMD_I2CPC, handle, reg, 4, 1, ext, 1);
}

In this case Python seems to be using the correct call.


fix(splunk): fix the example

Fix the splunk example to work with the new logger rest parameters.

p.s: trigger semantic-release

:tada: This PR is included in version 1.7.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


proposal: Scanners/Valuers

Description https://husobee.github.io/golang/database/2015/06/12/scanner-valuer.html
Example: https://github.com/nektro/go.etc/blob/master/dbt/array.go
Shown here is a custom type that allows data to be stored live as a []string but in the database as a string. The custom type is responsible for the serialization and deserialization of the data to and from the active and storage types.

I like this idea (I've actually used a similar interface to scan columns for my cassandra driver). It shouldn't be too hard to modify readField / bindField to handle this, I think.


Add packing, TypeScript to extension template

Empower extensions to use JSX, TypeScript, and npm imports by making a good extension template with packing, babel, etc.
Depends on https://github.com/paranext/paranext-core/issues/30

Consider https://vitejs.dev/guide/why.html

Client Types https://vitejs.dev/guide/features.html#client-types may be useful for inserting webview html as a string

Maybe we can consider allowing extensions to import files from their own folder? https://github.com/nodejs/node/blob/main/lib/internal/modules/helpers.js#L98

Using tsconfig schema on files not named tsconfig.json https://stackoverflow.com/questions/49555474/how-can-i-use-a-tsconfig-file-that-isnt-named-tsconfig-json-in-vs-code

Removing import papi from 'papi' and other import statements from webviews? https://www.npmjs.com/package/rollup-plugin-import-manager

Created #5 regarding supporting transpile languages in HTML web views

Apparently @types/... is reserved for the DefinitelyTyped organization (we must submit a pr to get it in), so I'm calling our npm package papi-dts similar to vscode-dts
https://github.com/postcss/postcss/issues/947#issuecomment-271346448
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#publish-to-types

Just two things left, I think:

[ ] Figure out a good way to run the extension watcher on start
[ ] Get list of extensions programmatically in vite.config.ts

[ ] Add "Debug Paranext" to extensions launch file

Also related are #7 and #8

Also related https://github.com/paranext/paranext-core/pull/161


go.mod is not an asdf-compatible version file

Describe the bug
The go directive in the go.mod file does not indicate the Go executable version that should be used to build the project. In particular, the go tool explicitly works with versions other than the version in the go directive. Much of the language in the Go module reference suggests this to be the case:

A go directive indicates that a module was written assuming the semantics of a given version of Go.

For packages within the module, the compiler rejects use of language features introduced after the version specified by the go directive.

If an older Go version builds one of the module’s packages and encounters a compile error, the error notes that the module was written for a newer Go version.

Additionally, the go command changes its behavior based on the version specified by the go directive.

More evidence that the go directive is not prescriptive about the specific Go version that it should be built with is evidenced by a discussion about the possibility of incorporating a toolchain version into the go.mod file and go tool, independently from the existing directive: https://github.com/golang/go/discussions/55092
Additionally, this plugin's treatment of go.mod version selection explicitly conflicts with the rules provided by asdf:

Note that this script should be deterministic and always return the same exact version when parsing the same legacy file. The script should return the same version regardless of what is installed on the machine or whether the legacy version is valid or complete. Some legacy file formats may not be suitable.

This explicitly violates that spec rule by looking at the installed versions, and having no deterministic version resolution (e.g., what version should be used if go 1.20 is specified).
Because asdf does not allow enabling/disabling of specific legacy file formats on a per-tool basis, it is not possible to opt into the standard asdf treatment of legacy files without also opting into this plugin's non-standard interpretation of go.mod and the asdf functionality.
To Reproduce

Enable legacy_version_file = yes
Set a version of go with asdf global golang system (or other)
Open up a Go project with a go.mod file and no .tool-versions
The global asdf/golang version is not respected, because go.mod is incorrectly treated as a version file

Expected behavior
The global golang version will be chosen
Actual behavior
The go version is chosen non-deterministically based on the local go.mod file
Additional context
Broadly speaking, there are three ways to address this:

Remove the current behavior completely. This is my recommendation, as it keeps the plugin simple and conforms to standard go.mod and asdf spec interpretation
Make the current behavior opt-in, such as through use of an an environment variable (e.g., export ASDF_GOLANG_MOD_VERSION=true)
Make the current behavior opt-out, such as through use of an an environment variable (e.g., export ASDF_GOLANG_MOD_VERSION_DISABLED=true). I would personally not recommend this, because it requires configuration to prevent non-standard behavior

I'm happy to make the contribution, but I wanted to get buy in before starting work.

If I were doing it all over again, I probably would go with option 1 and not include the behavior to begin with, but the guidance from asdf around legacy versions came much later. At this point I'm hesitant to break the current behavior outright, but perhaps we can deprecate it over time.
What do you think about a hybrid approach. If the user has neither ASDF_GOLANG_MOD_VERSION_{ENABLED,DISABLED} set, we continue the current behavior, but emit a warning to stderr that in the future users will need to set one or the other. Then in the future we move to requiring ASDF_GOLANG_MOD_VERSION_ENABLED?

@rliebz thoughts on #101?

Yeah that seems like a great compromise between backward compatibility for now and asdf standardization long-term. Thanks for taking the time to respond and put that change together.
👍 from me!

I'm going to go ahead and mark this as closed for now as folks can opt in/out after merging #101. I'll formulate a timeline for switching the default to false... probably when it comes up again. :wink:

I might be wrong, but I'm not sure if the changes in #101 worked as intended (i.e. can't be disabled), see this issue:

https://github.com/asdf-community/asdf-golang/issues/123


Test CPL on Windows

Ensure that all features work on Windows OS.

[x] Detect and load CPL config from several locations

[x] caelus.yaml in APPDATA
[ ] caelus.yaml in USERPROFILE
[x] caelus.yaml in current working directory
[x] Files pointed to by CAELUSRC_SYSTEM and CAELUSRC

[x] Creation of caelus-environment.cmd
[x] MPICH and MSMPI settings, execution in parallel
[x] Installation process (user docs) for conda and virtualenv (See #2)
[x] Run tutorials to test execution in parallel and serial modes

Upon inspecting the source code, I don't believe the second CPL config location was implemented so that wasn't checked.

When using the CAELUSRC option CPL returns:

File "C:\Caelus\cpl\caelus\utils\struct.py", line 157, in load_yaml
  with open(filename, 'r') as fn:
IOError: [Error 13] Permission denied: c:\\Users\\cnsidero\\Documents\\caelus"

where CAELUSRC=C:\Users\cnsidero\Documents\caelus. I tried various location in which my user account has rwx permissions but same issue.

Adding MSMPI support was dropped for 8.04

Drop USERPROFILE for CPL configuration.


Hey I really love quasar!

Hey, when dark comet stopped being viable i preatty much stopped my adventure with rats. But now i found quasar! it's a wonderful tool but my question is: When will the next update be?
S

Quasar 1.3.0 was released just days ago, check it out...


Reply with error on invalid tarball

I was trying to troubleshoot an issue where the supermarket was replying

{"error_code":"UNAUTHORIZED","error_messages":["You are not authorized to upload this cookbook."]}

when I uploaded with one tool, but working properly with a different tool.
It turned out that the tool which did not work was creating invalid tar.gz files, and the supermarket ignores that entirely.
Instead, the supermarket just uses a blank Metadata object if reading from the file was unsuccessful, and then says that I am unauthorized to upload to the cookbook named "".
This behavior seems like it's wrong.  If the supermarket knows that it cannot read the cookbook tarball, it should return an error explaining that the file is invalid.
I propose using either 400 Bad Request or 422 Unprocessable Entity for the status code, along with the message "Invalid file", or something like that.

@raskchanky thanks!


No .editorconfig or omnisharp.json support currently or only partial support.

From vscode-dotnettools created by Toonic: microsoft/vscode-dotnettools#413
Describe the Issue
Using the following Extensions:

Unity v0.9.0
C# Dev Kit v0.3.21
The other included extensions.

When attempting to format code using a .editorconfig with Omnisharp: Enable Editor Config Support on, or with omnisharp.json when it is off, code will not format using given settings.
Steps To Reproduce
1: Use the above extensions/configurations.
2: Use the following .editorconfig
# top-most EditorConfig file
root = true

[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

# comment this out if there is nothing inside of it
# dotnet_diagnostic needs to happen after this, not in it
[*.cs]
csharp_new_line_before_open_brace = none
csharp_new_line_before_else = false
csharp_new_line_before_catch = false
csharp_new_line_before_finally = false

3: Use the following omnisharp.json
{
    "FormattingOptions": {
        "NewLinesForBracesInLambdaExpressionBody": false,
        "NewLinesForBracesInAnonymousMethods": false,
        "NewLinesForBracesInAnonymousTypes": false,
        "NewLinesForBracesInControlBlocks": false,
        "NewLinesForBracesInTypes": false,
        "NewLinesForBracesInMethods": false,
        "NewLinesForBracesInProperties": false,
        "NewLinesForBracesInObjectCollectionArrayInitializers": false,
        "NewLinesForBracesInAccessors": false,
        "NewLineForElse": false,
        "NewLineForCatch": false,
        "NewLineForFinally": false
    }
}

4: Write some code similar to:
public void Foo() {
    //Test code here.
}

5: Format file.
Expected Behavior
Code should be formatted as such.
public void Foo() {
    //Test code here.
}

Code is instead formatted as:
public void Foo()
{
    //Test code here.
}

Environment Information
No response

first step might be to confirm if the omnisharp option being selected is the right one. @Cosifne fyi

FYI to whoevers investigating - we don't support omnisharp.json in Roslyn LSP (and don't plan to), however the .editorconfig should be respected.

Quick update; this seems to occur on my Macbook Pro mainly when adding a new file to a project. Other files respect my .editorconfig settings but when I add a new file only that file does not respect the settings until I reload my VSCode window.
VSCode Info:
Version: 1.82.2
Commit: abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
Date: 2023-09-14T05:59:47.790Z
Electron: 25.8.1
ElectronBuildId: 23779380
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.6.0

VSCode Extension Info:
ms-dotnettools.csharp v2.1.2
ms-dotnettools.csdevkit v0.4.10

dotnet --info:
.NET SDK:
 Version:   7.0.401
 Commit:    eb26aacfec

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  13.5
 OS Platform: Darwin
 RID:         osx.13-x64
 Base Path:   /usr/local/share/dotnet/sdk/7.0.401/

Host:
  Version:      7.0.11
  Architecture: x64
  Commit:       ecb34f85ec

.NET SDKs installed:
  7.0.401 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

This forces me to choose between having better debugging support from the Unity extension and better formatting support from the old Omnisharp formatter. I thought that at least I can still use the old formatter, but apparently not. My formatting settings (as specified by either a local ${workspaceFolder}/omnisharp.json or "global" %USERPROFILE%/.omnisharp/omnisharp.json)

@500-internal-server-error would you mind detailing what formatting (and other) settings you're using in omnisharp.json?  It is possible we already support them (via .editorconfig) or we can consider adding them.

@dibarbet I lost my actual preferred settings1, but for my current project I notice it formats using tabs rather than spaces. Actually, it seems to want to follow my VSCode settings (which I have set to use tabs by default), which I don't want it to - thats the entire reason I have a local omnisharp.json in the first place, so that regardless of what editor settings anyone may have the formatting after they edit it will be the same.
Also it seems to insist on using CRLF rather than LF. I don't want to deal with that headache, so I prefer to use LF anywhere and anytime, including on Windows.
Regardless, here is my omnisharp.json: https://pastebin.com/zhVwTrqb

1: I used this method to obtain the default formatting settings for Omnisharp. I had a custom one that made C# look more like Java (K&R-ish instead of Allman-ish), but given how the extension had trouble with tabs and spaces I imagine I would've been even more annoyed if I had used that and suddenly it doesn't do it anymore. I had the exact same VSCode formatting settings and omnisharp.json file, but after updating the C# extension and installing the Unity extension (and the other extensions it comes with that I can't get rid of) suddenly Omnisharp formatting broke.

Actually, it seems to want to follow my VSCode settings (which I have set to use tabs by default), which I don't want it to - thats the entire reason I have a local omnisharp.json in the first place, so that regardless of what editor settings anyone may have the formatting after they edit it will be the same.

@500-internal-server-error
You can add workspace specific settings in a .vscode/settings.json file in your workspace to configure the tab settings per language.  This file can be checked in to your repo if you want to ensure others opening the repo use the same settings.  For example:
"[csharp]": {
    "editor.insertSpaces": false,
    // Need this if you have existing files with spaces as indentation to force vscode to use tabs instead
    "editor.detectIndentation": false
}

Same is possible for end of lines via the "files.eol": "\n" setting (note that it only applies to new files - existing files you have to switch via the picker at the bottom right of the vscode window).
To get warnings for either of these settings you can add an .editorconfig to your workspace (this can also be checked in).  I'd recommend that you keep the vscode settings synced with the .editorconfig settings otherwise you'll get a weird experience.  There may be bugs here (as noted in the original description of this issue), let me know if you have problems.  For example in an .editorconfig at your workspace root:
root = true

[*.{cs}]
# Set use tabs
indent_style = tab
# Set end of line
end_of_line = lf
# Enable warnings for formatting errors
dotnet_diagnostic.IDE0055.severity = warning

I didn't go through every setting in your omnisharp.json, but they appeared to be mainly formatting related.  It is very possible to add those rules to your .editorconfig file as well, see https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/csharp-formatting-options

@dibarbet Thank you, I will try the .editorconfig-based formatting out. A question though, does the link you mention contain all the possible configurations, and will it continue to be updated as configuration options are added and/or removed? If not, where can I find or generate such a document detailing those options, similar to how I was able to generate an omnisharp.json containing all the possible configurations from the Omnisharp .dll file?
Thanks in advance.

does the link you mention contain all the possible configurations, and will it continue to be updated as configuration options are added and/or removed?

Generally yes, we should be keeping those docs up to date.  There are more than formatting rules as well, see https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/

where can I find or generate such a document

It is also possible to generate a .editorconfig file via the dotnet cli - dotnet new editorconfig - the template will have a lot of rules configured which you may or may not want, but it should give a good example of what you can do.

Closing this issue.  Using the latest version of the C# extension and C# devkit, I'm able to format the document using the .editorconfig described in the issue using the Roslyn LSP.
We do not support omnisharp.json in the Roslyn LSP (by design), however most settings that could be configured in omnisharp.json are supported in .editorconfig.
If anyone is encountering issues with .editorconfig in the latest versions of the C# extension, please file a new issue.  Thank you!


Update http4s-circe, http4s-dsl to 0.23.18

Updates

org.http4s:http4s-circe
org.http4s:http4s-dsl

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

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.http4s" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #448.


python: can't open file '/github/workspace/./main.py': [Errno 2] No such file or directory

Hello @TrisNol thanks a lot for creating this action. I have tried to use it but got the next error.
python: can't open file '/github/workspace/./main.py': [Errno 2] No such file or directory

You can find more logs in this run log.
Thanks in advance for any help you can provide.

Hi @kanekotic, thanks for raising the issue and the detailed description. The bug should be fixed now, please test it again.

awesome...this one is solved :)

I am now facing a deserialization issue from line 24, will check if I can fork and fix it


Local install to some environments may cause trouble with precalculated package versions in requirement.txt

Describe the bug
The package versions specified in requirements.txt may not install in all local environments (if not using docker), and may have to be manually installed.
Desktop

OS: MacOS Monterey 12.0.1 / Apple M1 (M1 may be part of the issue)
Project template version

How to fix

Recalculate the requirements with pip-tools locally and then install

or

manually install the packages in spesified in .in files

Note that both of these may again result in reproducibility issues in other environments. Container development is recommended.
Some spesific solutions to this issue
Project setup (Apple Silicon):
Prerequisites:
- python 3.8
-- pip
-- virtualenv

brew
-- openblas:
brew install openblas
export OPENBLAS=$(/opt/homebrew/bin/brew --prefix openblas)
export CFLAGS="-falign-functions=8 ${CFLAGS}"

Python project setup:
pip install virtualenv
python -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
pip install ipykernel
pip install nbdev

May be due to differences between ARM & x86 (default) architectures


Save and Restore model

Hi All,
With GPLVM, can we store trained model to file so that we can restore to continue training or prediction?

Pickling does not seem to be an option anymore (?). Is there a nice way to persist GPflow models now?
I guess one could use the tensorflow Savers, but this would - I think - only give the graph back and not the "rich graph" provided by GPflow. Am I missing something?

The correct way is to use code to recreate the model. Then either TensorFlow Saver objects can be used for re-loading the parameters, which has the added advantage that it also restores the state of optimisers e.g. Adam (this is important for restarting optimisation). Alternatively, you can use model.assign() and pass it a dict with the full names of the parameters and their respective values. You can get such a dictionary for storage using:
param_dict = {p[0].full_name.replace('SGPR', 'SGPU'): p[1] for p in zip(vfe.trainable_parameters, vfe.read_trainables())}
We may make a convenience function for this as well.

:+1: for still supporting get_parameter_dict()

 k = ekernels.RBF(2, ARD=True, active_dims=[0,1]) m = GPflow.gplvm.BayesianGPLVM(X_mean=X_mean, X_var=0.1*np.ones((N, Q)), Y=Y, kern=k, M=M, Z=Z) m.likelihood.variance = 0.01 m.optimize(disp=True, maxiter=100)
I have a simple model like that. Can you please help me an example how to save model m?

Currently the best thing to do is to adapt the param_dict = ... code above, and pickle the resulting dictionary. You can restore by recreating the model and using the assign() method.

@lanhnguyen2010 The documentation for saving and restoring tensorflow objects is here

@markvdw Thank a lot, I will try with that.
@mathDR I have used it. very appreciated your suggestion.

Actually @st--, @lanhnguyen2010: it seems like model.read_trainables() now returns a dict, which is essentially the behaviour in the code above. This makes things pickle-able.
Additionally, @lanhnguyen2010 @mathDR, if you are interested in saving models the TensorFlow way, you may want to check out gpflow-monitor. This project (under construction) provides helpers to monitor and store models while training. One thing it can do is store models using TensorFlow FileWriters.

@awav pickling of kernel objects no longer seems to work, I get the following error:
        with open(fn_kern, 'wb') as f_kern:
>           pickle.dump(self.k, f_kern)
E           _pickle.PicklingError: Can't pickle <class 'module'>: attribute lookup module on builtins failed

I noticed that the old gpflow defined __getstate__ and __setstate__ in the Parentable class, and no longer exist, is that related? Any suggestions for how to get it to work?


Remove download check from daac data subscriber. Raise exceptions instead of continuing

The system marks an hls_catalog document as downloaded when it is downloaded to the local machine.
This poses problems on retried jobs when an exception is thrown after that mark.
To address this problem, we must remove the download checks performed by the system. There are 2 known checks that are performed, but there may be more.

The daac data subscriber checks download status when getting the list of pending downloads
The daac data subscriber checks download status prior to downloading each file.

The daac data subscriber should also fail an entire batch when encountering an exception. And so we must replace a continue statement in the loop that downloads files with a raise or similar construct that allows exceptions to bubble up.

Hey @chrisjrd - I understand these checks are causing other issues, but what if a download actually fails? What mechanism will catch that? In other words - the checks being removed here have alternative checks where exactly?

job failures are caught at the hysds level. the check we're doing is redundant, so there is no alternative needed.

Ah - got it. So a download failure means the job overall fails, thus we catch it via HySDS.


ARROW-4429: [Doc] Add Git conventions to contributing guidelines

I tried to summarise the mailing list thread mentioned in the JIRA, into a small section in the contributing guidelines.  Please have a look.

@nealrichardson Do you want to review this?

Thanks!