Strange indentation behavior

Observed behavior
Given the following code (the actual code isn't important, I just want to illustrate with an example):
def is_nil(arg) do
  case arg do
    nil -> true
    _ -> false
  end
end

If I want to change that to the following:
def is_nil(arg) do
  result =
    case arg do
      nil -> true
      _ -> false
    end
  result
end

What I want to do is use visual mode to select the case block, and indent the block with > >, preserving the indentation. What happens though is I get this:
def is_nil(arg) do
      case arg do
      nil -> true
      _ -> false
      end
end

It is indenting the case and end lines 4 spaces, and the inner clauses 2 spaces, which results in them all on the same line. I've noticed this behavior in elixir-mode, erlang-mode, python-mode, but it doesn't seem to occur in go-mode. I only say this to clarify that this appears to not be major mode specific, but some configuration related thing.
Expected behavior
Using the example above, I'd expect all lines of the visual selection to be indented the same number of spaces/tabs the major mode is configured to use (2 spaces in the case of elixir-mode). Ultimately, the desired behavior is that I can indent a selection, preserving the relative indentation of the selection.
Steps to reproduce

Open up an elixir-mode buffer, dump in the initial code example from above
Starting at case, perform a visual selection to the end
Use > > to indent the selection

System information

Click to expand

OS: darwin (x86_64-apple-darwin16.7.0)
Emacs: 26.1 (Jun 24, 2018)
Doom: 2.0.9 (develop c8de34fb55d8739df3dde0dad5a7114b1034a63e)
Graphic display: t (daemon: nil)
System features: JPEG RSVG IMAGEMAGICK DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS LCMS2
Details:elc count: 0
uname -a:  Darwin ogier.local 16.7.0 Darwin Kernel Version 16.7.0: Tue Jan 30 11:27:06 PST 2018; root:xnu-3789.73.11~1/RELEASE_X86_64 x86_64
modules:   (:feature (evil +everywhere) file-templates (lookup +devdocs +docsets) snippets spellcheck (syntax-checker +childframe) workspaces :completion (ivy +fuzzy) :ui doom-dashboard doom-modeline doom-quit evil-goggles hl-todo nav-flash neotree (popup +all +defaults) unicode vi-tilde-fringe window-select vc-gutter :editor :emacs ediff electric eshell imenu vc :tools gist make magit pdf prodigy upload :lang (cc +irony +rtags) data erlang elixir emacs-lisp go (haskell +intero) (java +meghanada) javascript (latex +latexmk +skim +pdf-tools) lua markdown ocaml (org +attach +babel +capture +export +present) perl purescript python ruby rust scala sh web :config :private fish)
packages:  ((exec-path-from-shell :ignore (not IS-MAC)) fish-mode terraform-mode)
exec-path: (~/.asdf/shims/ ~/.asdf/bin/ ./node_modules/.bin/ ~/bin/ ~/bin/ /usr/local/bin/ /usr/local/bin/ /usr/bin/ /bin/ /usr/sbin/ /sbin/ /Library/TeX/texbin/ ./node_modules/.bin/ ~/bin/ /usr/local/Cellar/emacs-plus/26.1/libexec/emacs/26.1/x86_64-apple-darwin16.7.0/)

Could you tell me the value of evil-shift-width in elixir-mode, and whether it matches the value of tab-width?
Evil's >> and << are governed by evil-shift-width, and this sounds like they are out of sync.

So, in an elixir-mode buffer, evaluating evil-shift-width and tab-width both return 4, which should be 2; but things are even stranger than I thought:
Given the following in my scratch buffer with elixir-mode active:
defmodule Test do
  def is_nil(arg) do
    case arg do
      nil -> true
      _ -> false
    end
  end
end

Dedent of the def line goes to the beginning of the line (column 0), which is a dedent of 2 spaces; indenting that same line again indents 4 spaces.
Dedent of the case line goes to the beginning of the line, which is a dedent of 4 spaces; indenting that same line again indents 4 spaces.
Dedent of the nil -> true line, dedents 2 spaces; indenting it again indents 4 spaces
Going back to the def line, if I indent it, it indents 2 spaces (!!); whereas if I reset it to the default state, dedent to the beginning of the line, then indent twice, it indents 4 spaces both times.

The last two of those are the ones which confuse me the most, since the dedent/indent behavior seems to change based on context or some kind of state.
Hope that helps, if you need me to try anything, just let me know!

The incorrect tab-width is the root of the problem (and evil-shift-width for your << and >> woes).
It doesn't get properly occurs because of a bug in dtrt-indent (what Doom uses to automatically detect and set indentation). I've filed a bug report upstream and will report back here when it has been resolved.
In the meantime, you could set tab-width file-locally, e.g.
# Local Variables:
# coding: utf-8
# tab-width: 2
# End:

At the bottom of the file, or
# -*- tab-width: 2 -*-

at the top.
Or, if you use the :tools editorconfig module, have this to your ~/.editorconfig file:
[*.rb]
indent_size = 2

I've updated dtrt-indent and pulled the latest from develop and so far so good! I'll close this, but feel free to reopen it if you want it around for tracking purposes.


Implement QDrift as a ProductFormula.

The goal of this issue is to implement a QDrift method of Trotterization as a product formula.
https://github.com/Qiskit/qiskit-terra/tree/main/qiskit/synthesis/evolution
The old QDrift implementation is available here:
https://github.com/Qiskit/qiskit-terra/blob/main/qiskit/opflow/evolutions/trotterizations/qdrift.py

comment so that I can get assigned

I think this issue should be closed.

Yes, thanks - closed by #7281.


Prometheus autostart after installing

Usual behavior of packages containing services upon installation is to register the service being installed and start it.  However this is not true for prometheus packages.
RPM POSTIN spec does not contain systemctl enable prometheus.service.
What did you do?
yum install prometheus
What did you expect to see?
systemctl enable prometheus.service
What did you see instead? Under which circumstances?
none
Environment
CentOS Linux release 7.4.1708 (Core)

System information:
Linux 3.10.0-514.16.1.el7.x86_64 x86_64
Prometheus version:
prometheus, version 1.8.2 (branch: HEAD, revision: 5211b96d4d1291c3dd1a569f711d3b301b635ecb)
build user:       root@1412e937e4ad
build date:       20171104-16:09:14
go version:       go1.9.2
Alertmanager version:
alertmanager, version 0.10.0 (branch: HEAD, revision: 133c888ef3644b47a52acbaeffb09f4cc637df1b)
build user:       root@01302b7cd08a
build date:       20171109-15:34:53
go version:       go1.9.2
Prometheus configuration file:
not applicable
Alertmanager configuration file:
not applicable
Logs:
not applicable

We don't provide yum packages. Please take this to the package provider
repository.
On Mon, Nov 13, 2017, 12:38 neuroxdnb<EMAIL_ADDRESS>wrote:

Usual behavior of packages containing services upon installation is to
register the service being installed and start it. However this is not true
for prometheus packages.
RPM POSTIN spec does not contain systemctl enable prometheus.service.
What did you do?
yum install prometheus
What did you expect to see?
systemctl enable prometheus.service
What did you see instead? Under which circumstances?
none
Environment
CentOS Linux release 7.4.1708 (Core)

System information:
Linux 3.10.0-514.16.1.el7.x86_64 x86_64
Prometheus version:
prometheus, version 1.8.2 (branch: HEAD, revision: 5211b96
https://github.com/prometheus/prometheus/commit/5211b96d4d1291c3dd1a569f711d3b301b635ecb
)
build user: root@1412e937e4ad
build date: 20171104-16:09:14
go version: go1.9.2
Alertmanager version:
alertmanager, version 0.10.0 (branch: HEAD, revision:
133c888ef3644b47a52acbaeffb09f4cc637df1b)
build user: root@01302b7cd08a
build date: 20171109-15:34:53
go version: go1.9.2
Prometheus configuration file:
not applicable
Alertmanager configuration file:
not applicable
Logs:
not applicable

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/issues/3463, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAANaErF-NCO96qV-Dc8abVhJjHrhI1Bks5s2Co5gaJpZM4QboeI
.

Thank you!


Testing for bot

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

@ruowan is this PR still need, if not, can you close it?

@ruowan Ruoxuan Wang FTE is this PR still need, if not, can you close it?

The PR is used for sending notification emails to me. Once I haven't received the email, that means the SLA-bot doesn't work.


Automated Task and Resource Planner doc

Changes are brought from #3760

The release of the app service is canceled. The Markdown file and the images are archived in the internal Resources > Documentation Backups (NO Update) folder.


fbcdn.net

I am unable to create a pull request so I am submitting as an issue. Please consider pulling fbcdn.net off your list. This domain belongs to facebook video CDN and when active it make the video pause for about 60 seconds every 2, 3 or 5 minutes. It will also make the video not start and act like is buffering for about 1 to 2 minutes before it lets the video start. Once fbcdn.net is white listed the issue goes away.
Thank you for listening.

@santiagohl are you using any of the extensions here along with the main list?
In particular the social one?
Provide a link of the list you using on your end,please. Thanks.

Well Steve @StevenBlack,to make it less confusing and considering the info provided by @santiagohl wasn't very clear to begin with.
I was just exploring few options. One,he's using the social ext. and or some complicated resolver like NextDNS 😉

I am not using any plug in, CentOs7 running the latest version of the
pihole and enabled the list you can see in the screenshot below
[image: image.png]
-Héctor Santiago-USMC - SemperFi
On Sat, Apr 17, 2021 at 1:45 AM dnmTX @.***> wrote:

@santiagohl https://github.com/santiagohl are you using any of the
extensions here along with the main list?
In particular the social one?
Provide a link of the list you using on your end,please. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/StevenBlack/hosts/issues/1617#issuecomment-821777641,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AENYWWVFE2LYDO3ANWTLGFDTJEU7TANCNFSM43CWPLSQ
.

@ dnmTX --
I am not using nay plug in that I am aware of I am using CentOs7 with a fresh install of the pihole software. the domain is part of the Steve black list as you can see in the screenshots below

I will try to explain the issue again I thought I was clear in the initial write up. When you open a video from facebook specially in an iPhone, iPad or an Androis s8 phone the Video will not start but shows the wheel spinning like it is buffering. Then video starts and a few minutes in the video will once again act as if it is buffering that takes 30, 60 or 90 seconds then video start again. To be clear there are no ads on the videos. Now I spent 2 weeks troubleshooting as my wife love FB videos and after ruling our everything in the internet connection side I then reloaded a fresh install of my pihole vm from scratch because why not. Then issue was still there so I cleared the logs, flush everything. I then played a video on FB and it paused and I saw this being blocked when the issues happens --> video-dfw5-1.xx.fbcdn.net and video-dfw5-2.xx.fbcdn.net. So I white listed fbcdn.net as a wildcard and issue fixed no more trouble.
I then started looking at the list see in which list that domain resides in and it was https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
Please let me know if you need additional info

Thanks @santiagohl for the additional info. Now it's more clear where your problems are coming from.
ping @jawz101. It's one of yours,would you mind inspect. Thank you 👍

I'll have to take a look.  I'm obsessed with Microsoft Solitaire on my phone and I'm pretty sure they're tied to Facebook's ad network- particularly video ads.  That it's mentioned in the issue here that a Facebook video pauses at the start of playing and sometimes during makes me think that those entries are used to inject video ads while watching Facebook vids even within their own app.

There are no video ads on the video and I can confirm there are no ads why
you ask. Well with the StevenBlack list turned off I played a video the
entire video and no ads play before, through the video nor at the end of
the video, but if I turn the list back on to blocking and play the same
video that had no ads on it at all the video will start acting up again as
it is buffering at the beginning and throughout the video. With that being
said while there are no ads maybe they are getting ready to start adding
ads and they could be testing the mechanism without actually adding an ad
to a video but that is me speculating on that part.
-Héctor Santiago-USMC - SemperFi
On Sat, Apr 17, 2021 at 11:45 PM jawz101 @.***> wrote:

I'll have to take a look. I'm obsessed with Microsoft Solitaire on my
phone and I'm pretty sure they're tied to Facebook's ad network-
particularly video ads. That it's mentioned in the issue here that a
Facebook video pauses at the start of playing and sometimes during makes me
think that those entries are used to inject video ads while watching
Facebook vids even within their own app.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/StevenBlack/hosts/issues/1617#issuecomment-821931842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AENYWWWD5AYMZ2S2HW57O3DTJJPX7ANCNFSM43CWPLSQ
.

removed.  thanks

Thanks @jawz101.
Closing.


Not working anymore sinse the today patch

Since the today update, toolbox isnt working anymore "We cant determine of the character is ingame. Contact the developpers."
I reinstall the game, doesnt work.
Thanks for your help

More information in #387.


Hide completion widget when scrolling up and down

Hi all,
Firstly well done for an awesome idea that i use a lot and has helped me code lots in python!
Going into the matter of this issue, i was coding the other day and i noticed that the completion boxes where floating as i would scroll to check the correct function to complete to. I am not sure if this is a feature or a bug. If its a feature so that you see the options as you scroll to check i would be good if the options didn't disappear. If its a bug and the box shouldn't move at all i thought i would report it. I enclose a figure of the matter.
Finally, does anybody have any suggestions as to how to help more than by just 'complaining' about what one has found not to be working as expected. I am not new to programming but mostly as a user.

Are you using two monitors?

No its all in my laptop,
As for version of spyder and python i just checked that it is still happening nd took the screenshot bellow.

This problem isn't stopping me using Spyder or Python, so if i can not be replicated straightaway there isn't much point in having an open issue. I just thought to have it recorded somewhere in case this was something that hadn't been encountered before. And help, in a small way, with the development of a great project.

I don't understand too well what you're doing. Could you give us a step by step way to reproduce your problem?

Sorry should have added this at the top. Thankfully Spyder is quite good so I forget how issues should be reported.
1 In a new script, define a simple function:
def mysum(a,b):
    return a+b

2 Go down enough lines so that the script is long enough to scroll up and down.
3 At the end, type m for 'mysum', and press tab. As the box with the list of options is displayed, scroll script up.
The box will remain in the same position relative to the editor window, the scrip and the contents of the box move. As far as I think, the box shouldn't move up as I scroll; or the contents of the box should not change as I scroll.
I hope this helps @ccordoba12

Thanks for the detailed description. Now I understand what's happening :-)
The easiest solution would be hide the completion widget on scroll up/down events. Would that be ok for you?

@dalthviz, please take care of this issue as part of PR #9897. The idea is that if the completion widget is currently visible and you scroll up or down with the mouse wheel, then we need to hide it.


Race condition with css inliner

Not sure whose bug it is, maybe fedeisas/laravel-mail-css-inliner's.
css inliner's service provider (in register()):
$this->app->afterResolving('mail.manager', function (MailManager $mailManager) {
    $mailManager->getSwiftMailer()->registerPlugin($this->app->make(CssInlinerPlugin::class));
    return $mailManager;
});

and mail preview's (in boot()):
$this->app['mail.manager']->extend('preview', function () {
    return new PreviewTransport(
        $this->app->make('Illuminate\Filesystem\Filesystem'),
        $this->app['config']['mailpreview.path'],
        $this->app['config']['mailpreview.maximum_lifetime']
    );
});

So mail preview is directly accessing (and building) mail.manager, which immeditately triggers css inliner's afterResolving, which triggers immediately triggers createTransport(), with a transport preview that doesn't exist yet, because mail preview's extend() hasn't even run yet.
Moving mail preview's extend() into a afterResolving('mail.manager', ...) doesn't help, because when the mail manager is finally created (not on every request, just when sending mail) the same race condition happens.
This wasn't a problem with css inliner 2.2 + themsaid/laravel-mail-preview. Maybe because it was a mailer then, not a transport. No idea how to fix this. Typical DI race condition.

This wasn't a problem with css inliner 2.2 + themsaid/laravel-mail-preview. Maybe because it was a mailer then, not a transport. No idea how to fix this. Typical DI race condition.

That was Laravel 6 btw. Different mail config.

Thanks for reporting. This hasn't bitten me yet and I don't get any reports from other users. That's why I'll probably won't invest time in this for now.
Feel free to PR a fix that works for you.

But I've no idea what a fix would be. You're better at Laravel's DI than I am.
Do you use css inliner + preview without problems? Then I'm doing something wrong.

Can I even PR for 4.x? There's no branch... You don't support fixes for PHP 7.4?

No, this package is 8.0 only. The old version is somewhere on https://github.com/themsaid

I'm very sure I'm using spatie/laravel-mail-preview on PHP 7.4, but maybe that's Composer magic.
PR #73 still good though.


build image from source code with tag v0.13.1, back-off restart

Version

v0.13.1
Platform/Architecture
arm64
Describe the bug

checkout source code with tag v0.13.1, run "make" build image.
fail to run pod with the image:

To Reproduce

checkout source code with tag v0.13.1, run "make",build image

Expected behavior

Actual behavior

Additional context

I see you opened a duplicate issue on the rke2 repo. Closing this one.


[Android] Fix the issue causing the logo to not show when using the compatibility renderer

Delaying showing the logo by 1 frame so that it doesn't run in the same frame as the setup logic resolves the issue.
Fixes https://github.com/godotengine/godot/issues/92966

The code seems way more comprehensible after this PR. Thanks @m4gr3d !
Otherwise, not to be too much nitpicky, but shouldn't the static const int be in an enum instead?

@adamscott I switched it to an enum.

Thanks!


Open port 80 inbound for teamserver instances

🗣 Description
This pull requests adds port 80 (TCP) to the list of inbound ports to open for Teamserver instances.
💭 Motivation and context
This is in response to a bug report by @sporac, for which I reopened cisagov/cool-system#170.  It turns out that they need this port open for domain verification.
🧪 Testing
All pre-commit hooks pass, and these changes have already been deployed successfully to our staging COOL environment.
✅ Checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated to reflect the changes in this PR.
[x] All new and existing tests pass.

So they have requested, so it shall be.

So let it be written!
So let it be done!
I'm sent here by the chosen one!
I'm Creeping Death!


Removing item from list cause visual glitch

We ran into an issue while removing an item from a list.
Indeed, invalidating all indices following the removed item cause a visual glitch.
Is-it something your library can help with?
What is your approach to remove an item from a list?

I've seen this too. Not sure yet what the ideal solution is. I'm open to suggestions.
As a workaround you could try invalidating the list at the beginning every time the controller runs. Then when an item is removed, maintain a set of deleted indices on the controller, in order to know which items are removed. Then you can either hide those items, or display a "deleted" message on them. The next time the view loads, the invalidation will happen and everything will start over fresh.


Add Default.sublime-commands.

Shows commands in the Command Palette.

Thanks! Merged as c05c7c7

You're welcome! Thanks for all the good work you're doing.


chore: merge changes in main for v0.43.2

Description
Merge changes of main branch into the release/0.43.x branch.
Apply the all change of main.
Checklist:

[x] I followed the contributing guidelines and code of conduct.
[x] I have added a relevant changelog to CHANGELOG.md
[ ] I have added tests to cover my changes.
[x] I have updated the documentation accordingly.
[ ] I have updated API documentation client/docs/swagger-ui/swagger.yaml

Is there a reason to increase a patch version instead of a minor version? (0.44.0)
It contains more meanings than fix, so I think a minor version update seems more desirable.

Is there a reason to increase a patch version instead of a minor version? (0.43.2 -> 0.44.0)
It contains more meanings than fix, so I think a minor version update seems more suitable.

I wanted do not increase major version because we prepare the next release chain version.
But your opinion is right.
I'll close this PR. And register another release PR as v0.44.0, but I'll add rc for next release chain version.


Integration Test - Release - 2019/03/19 21:36:28

Auto create for integration test. IssueCommandFlow

@PRMergerTest3 : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Multipart file loaded into memory when controller method has parameter

From @matthiaslischka on Thursday, December 12, 2019 2:20:13 PM
Multipart file upload will first load the file into memory and only then call the controller method as soon as the controller method as parameters. Even if the parameters are only url or query parameters.
Background
We want to stream a large file directly from the frontend into azure storage and need to pass some ID in addition to the file (query parameter).
Problem
Real streaming does only work when the controller method has no parameters. This works correctly, you can access the stream with the MultipartReader:
[HttpPost]
public async Task<IActionResult> UploadFile()

This does not work correctly because the whole request is stored into memory before the controller method is called:
[HttpPost]
public async Task<IActionResult> UploadFile([FromQuery] UploadDocumentProperties uploadDocumentProperties)

As soon as there is any parameter the whole request will be loaded into memory and only when this is done the controller method is called. This is even true when the parameter is only a url or query parameter.
We noticed this with big files. The UI control uploaded them to 100% and then the user had to wait about the same time again for the API to stream the file to azure. With debugging we could see that the controller is not called before the UI control uploaded the file completely. Now without the parameter the controller is called immediately and streams the file directly as expected.
Workaround
We need some ID that is passed as query parameter. Since the controller method must not have any parameter for the streaming to work correctly we parse the query parameters by hand (Request.Query).
BR
Matthias
Copied from original issue: dotnet/core#3986

From @ltouro on Thursday, December 12, 2019 4:13:04 PM
Not related to the error you reporting, but I would suggest a different approach to uploading big files to Azure.
Generate a SAS key on the server and send it to the client (with upload permission only). Then, the client upload the file directly to Azure. After the operation completes, the client notifies the server.
This way, the file is never sent to your server and you will have no memory problems. This is a common pattern and implemented by several upload controls libraries.
HTTP REQ 1 -> Client - Your server -> return upload URL with embedded SAS key
HTTP REQ 2 -> Client - Azure -> upload the file to Azure using the SAS key
HTTP REQ 3 -> Client - Your server -> notifies upload successful
See a better explanation here: https://docs.fineuploader.com/branch/master/features/azure.html

From @carlossanlop on Thursday, December 12, 2019 5:43:18 PM
@Pilchie can you please move to the asp repo?

We have documentation that shows how to stream a large file without MVC attempting to read the request body: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1#upload-large-files-with-streaming.

I know, thanks. However, this is a bug nevertheless. Why should adding a query or url parameter read the complete stream into memory first - and only then call the controller method?

MVC does not determine what model binding sources to use based on the parameters. By defaullt, Form, Query, and Route and read by default. Using the filter in the doc article that was previously provided is the way to change this behavior.

It's also possibly a bug that we don't have this behavior when you have no parameters. I'm not motivated to change it because no one has asked for it to change, and it would make performance worse.


Announcing Offline Camp Oregon: Sept 27-30, 2019 🎉

It's finally official! The next Offline Camp will take place ~August 2-5~ September 27-30  in Grant Pass, Oregon. Offline Camp is a 30-person weekend tech retreat aimed at bringing together the Offline First community to discuss the challenges of designing and building for offline scenarios and low-bandwidth networks.
Note that the event is not specifically about the decentralized web, but dweb enthusiasts with a particular interest in Offline First are welcome. You can get a good sense of the topics we discuss in our unconference sessions in our Medium publication.
Learn more about the unique Offline Camp experience:

If you're interested in attending, please check out our announcement post and read up on the application process.
Hope to see some of you there!

Just a quick update on Offline Camp Oregon, which starts in just 2.5 weeks. We're really excited to have a few folks from this Local Offline Collaboration SIG attending, as well as folks working with a variety of dweb projects from IPFS to Dat to Scuttlebutt to Project Lantern and beyond, plus lots of non-dweb devs doing awesome stuff to tackle the challenges of shoddy networks. Take a look at who's coming!
We have just a few tickets left, so there's still time to get in a last-minute application in if you're interested in joining us for a long weekend of collaborative discussion on all things Offline First in southern Oregon, August 2-5: http://offlinefirst.org/camp.
Please feel free to shoot any questions my way!

For the health and safety of campers during the nearby Milepost 97 wildfire, which is currently affecting air quality in Grants Pass, we've made the difficult decision to postpone Offline Camp until September 27-30.
Current campers, please review our full announcement and click the link to confirm you've seen the update. Please email camp at offlinefirst.org with any questions or concerns.
If you were interested in Offline Camp but the August dates didn't work for you, we hope you'll consider joining us this September. See http://offlinefirst.org/camp for all the details.

Offline Camp Oregon was a great success!
Be sure to follow the Offline Camp Medium publication and Twitter account for upcoming articles summarizing the discussions held at camp, as well as passion talks given by campers. (The Offline Camp team is looking for volunteers to help shepherd authors through the publication process; please reach out to learn more.)
In the meantime, you can watch the video or check out the meeting notes from today's IPFS Local Offline Collaboration SIG call, where some campers shared their insights from Offline Camp discussions on the crossover between DWeb and Offline First.

Want to know when and where the next Offline Camp will take place? Fill out this quick form to suggest future locations and ensure you're notified when the next event is scheduled.


OTel Traces for evaluation in flagd

Abstract
OpenTelemetry (OTel) provides a vendor-neutral way of collecting and exporting rich telemetry data. Supporting for OTel will help administrators determine the health and impact flagd is having on a system.
Requirements

[x] Start or extend a trace for a flag evaluation
[ ] Start or extend a trace for a change event (e.g. file, HTTP, grpc, kubernetes watcher)
[x] Investigate sampling options
[x] Investigate using the semantic conventions for gRPC and HTTP, and possibly feature flags where appropriate.

Resources

Depends on #563
OTel support for Connect Go

https://buf.build/blog/connect-opentelemetry-go/

Given that I already worked on #563, I would like to continue on this topic :)  @toddbaert  or @thisthat any opinion ?

Start or extend a trace for a change event (e.g. file, HTTP, grpc, kubernetes watcher)

Investigated the distributed traces between grpc & grpc server implementation (ex:- flagd-proxy) for grpc change event. otelgrpc interceptor spans work for the full stream (i.e - stream start to stram end). This is not suitable for flagd use cases as we have long-running grpc streams.


Tauri(Transparent) + Leptos: leptos_dom transparency panic after adding Routing via leptos_router

I am building a Tauri + Leptos windows app. The tauri window is transparent.
 "app": {
    "withGlobalTauri": true,
    "windows": [
      {
        "title": "my_tauri_app",
        "transparent": true,
        "fullscreen": true,
        "alwaysOnTop": true
      }
    ]

My leptos component : <MyComponent\>  was rendering fine until i added leptos_router and mapped <MyComponent\> to "/".
#[component]
pub fn App() -> impl IntoView {
    view! {
        <Router>
            <main>
                    <Route path="/" view=MyComponent/>
            </main>
        </Router>
    }
}

Once I had added the route, <App\>  is not rendering and in the DevTools I can see this exception.
my_tauri_app-ui-ed1e9e6dabb939de.js:445
 panicked at <my home>\.cargo\registry\src\index.crates.io-6f17d22bba15001f\leptos_dom-0.6.15\src/lib.rs:636:17:
tried to mount a Transparent node.

Stack:

Error
    at imports.wbg.__wbg_new_abda76e883ba8a5f (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de.js:448:17)
    at my_tauri_app_ui-02e4656794cff75e.wasm.console_error_panic_hook::Error::new::h59fa593c6e0cb8fc (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[3884]:0x1df74e)
    at my_tauri_app_ui-02e4656794cff75e.wasm.console_error_panic_hook::hook_impl::hd9e89f85a8f12432 (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[1023]:0x158077)
    at my_tauri_app_ui-02e4656794cff75e.wasm.console_error_panic_hook::hook::hffd92951bb64016c (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[5428]:0x1f9d5c)
    at my_tauri_app_ui-02e4656794cff75e.wasm.core::ops::function::Fn::call::hab09751e57c578fd (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[4823]:0x1f0f94)
    at my_tauri_app_ui-02e4656794cff75e.wasm.std::panicking::rust_panic_with_hook::h33fe77d38d305ca3 (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[2048]:0x1a05b4)
    at my_tauri_app_ui-02e4656794cff75e.wasm.std::panicking::begin_panic_handler::{{closure}}::h98de848d678bad07 (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[2754]:0x1bfb87)
    at my_tauri_app_ui-02e4656794cff75e.wasm.std::sys::backtrace::__rust_end_short_backtrace::h2bcfc60c3cf0a312 (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[6546]:0x2052fa)
    at my_tauri_app_ui-02e4656794cff75e.wasm.rust_begin_unwind (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[4229]:0x1e6775)
    at my_tauri_app_ui-02e4656794cff75e.wasm.core::panicking::panic_fmt::hde8b7aa66e2831e1 (http://localhost:1420/my_tauri_app-ui-ed1e9e6dabb939de_bg.wasm:wasm-function[4442]:0x1ea746)

my_tauri_app-ui-ed1e…de_bg.wasm:0x2053c2
 Uncaught RuntimeError: unreachable

In the leptos_dom source, I can see this is whats throwing the exception.
#[cfg(all(target_arch = "wasm32", feature = "web"))]
impl Mountable for View {
    fn get_mountable_node(&self) -> web_sys::Node {
        match self {
            /*
            */
            Self::Transparent(_) => {
                panic!("tried to mount a Transparent node.")
            }
        }
    }

So I modified it to the following and added the crate to my cargo.toml as path
 Self::Transparent(t) => {
                t.get_mountable_node()
                //panic!("tried to mount a Transparent node.")
            }

However, now I am not getting the error, but the <App> is still not rendering in dom.
Orginal Cargo.toml(Without the path import)
[package]
name = "my_tauri_app"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
leptos = { version = "0.6", features = ["csr"] }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
serde = { version = "1", femy_tauri_appatures = ["derive"] }
serde-wasm-bindgen = "0.6"
console_error_panic_hook = "0.1my.7"
leptos-use = "0.13.6"
leptos_router = { version = "0.6.15", features = ["csr"] }

[workspace]
members = ["src-tauri"]

Edit: When I access the trunk served localhost:1420 via chrome, I am getting the same issue. So it might not be tauri related.

Sorry guys.  I did not use the  component inside


Getting to first release

[x] https://github.com/MichelML/rdkit-js/issues/22
[x] https://github.com/MichelML/rdkit-js/issues/20
[x] https://github.com/MichelML/rdkit-js/issues/19
[x] https://github.com/MichelML/rdkit-js/issues/23
[x] https://github.com/MichelML/rdkit-js/issues/28
[x] #117
[x] https://github.com/MichelML/rdkit-js/issues/24

Remaining tasks before closing this:

[x] Bring the idea of another name because of history to Greg and others (rdkit-mini? rdkit-wasm?)
[x] Explain state of repository to Greg and others
[x] License review and suggest Valence Discovery in license
[x] Ask how should this be merge/transfer
[x] Bring discussion for rdkit-structure-renderer of ptosco being developed and published in context of this project
[x] Things to do post-transfer

[x]  Renaming github repo path reference from MichelML/rdkit-js to rdkit/rdkit-js
[x]  Adjust azure pipeline and related scripts

[x] #127 (and fix broken parts)
[x] #129
[ ] #130
[ ] #128

Remaining tasks before closing this:

[ ] Bring the idea of another name because of history to Greg and others
[ ] Explain state of repository to Greg and others
[ ] Suggest Valence in license
[ ] Ask how should this be merge/transfer
[ ] Bring rdkit-structure-renderer of ptosco in context of this project
[ ] Things to do pre-transfer

[ ] Adjust pipeline pre-transfer to use the new versioning system suggested

[ ] Things to do post-transfer

[ ]  Renaming github repo path reference from MichelML/rdkit-js to rdkit/rdkit-js
[ ]  Adjust azure pipeline and related scripts

I think this can be closed, remaining issues will be completed as the project continue to evolve


Response interceptors not called when request fails

Bug Report
Description
Response interceptor is not called when a request is not successful, but it is called if it is successful
To Reproduce
Steps to reproduce the behavior:

Create an interceptor

        FuelManager.instance.addResponseInterceptor { next: (Request, Response) -> Response ->
            { req: Request, res: Response ->
                println("INTERCEPTED")
                next(req, res)
            }
        }

Make a request:
 val (req, resp, result) = Fuel.get("www.google.com").response()

Check the console, when the request is successful, INTERCEPTED is printed, otherwise it is not

Expected behavior
I expect Fuel to call the response interceptor whether the request works or not
Environment
Developing in Android Kotlin using:
    // fuel for http requesrs
    implementation 'com.github.kittinunf.fuel:fuel:2.3.0' // fuel-core
    implementation 'com.github.kittinunf.fuel:fuel-android:2.3.0' // fuel-Android
    implementation 'com.github.kittinunf.fuel:fuel-jackson:2.3.0' // fuel-Jackson
    implementation 'com.github.kittinunf.fuel:fuel-coroutines:2.3.0' // fuel-coroutines
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.2' // Jackson
    implementation "com.fasterxml.jackson.module:jackson-module-kotlin:2.11.2" // Jackson kotlin

Development Machine
Complete the following information if applicable

OS: Ubuntu 20.04
IDE: [ Android Studio
Fuel version: 2.3.0
Kotlin version: 1.4

Smartphone or Emulator
Complete the following information if applicable

Device: Pixel 3 XL
OS: Android 10

This is not a bug.
There is also no way to differentiate from failure or success interceptors at the moment. However, the chain is only halted when an error is raised, which does not happen when the request returns, say, a 404. It's actually an interceptor that turns 4xx and 5xx codes into errors.

I see. So is there a way to intercept the response before the error is raised?
What I want to do is intercept and Unauthorized code to log out the user (which needs to be done in every request). @SleeplessByte

Certainly!
One example is to remove the status code interceptor from the fuelmanager, and add in your own (and then add it back).

Where can I find documentation about how to do that? Looked at the documentation and could not find anything.
The closes think I found is: FuelManager.instance.removeAllResponseInterceptors(), but it does not seem to change anything.
Thanks a lot for your help! @SleeplessByte


Make album.getID more robust

Fixes https://github.com/LycheeOrg/Lychee/issues/1483
I'm honestly not sure what purpose those selectors serve at this point. There was a comment Search above them but that's definitely outdated now that the search results are in album.json. I didn't want to introduce some other embarrassing last-minute bugs by removing them so I just made them more robust instead...

Added some fixes in https://github.com/LycheeOrg/Lychee-front/pull/317/commits/a46de8a39958fcaf28b31af8c1a03152142f6bf8:

length === 1 instead of length > 0. I don't really know when and how this method is called, so this is more a fix for a theoretical situation. active = $(".album:hover, .album.active") might be a sequence of items, if more than one photo or album is selected at a time ("multi-select"). While .attr returns the attribute of the first item, the situation might lead to unexpected results due to ambiguity, if - for example - photos from different albums are selected. With length === 1 the value is always unambiguous.
attr may return undefined if the attribute is not defined on the item, see jQuery Doc: attr(), but isID expects ?string. Hence, || null takes care of that.
Const correctness

I'm honestly not sure what purpose those selectors serve at this point.

Yes, I definitely understand that feeling. I have the same problem and my IDE is also complaining about these selectors constantly. Irrespective, of any work on a Lifewire frontend I have been considering to gradually transform the JS frontend via several PRs into something which is more maintainable, more modern and more efficient than we have now. This would also involve to remove most of the CSS selectors. I am just lacking the time.
But this leads me to https://github.com/LycheeOrg/basicModal/pull/3 and https://github.com/LycheeOrg/basicModal/pull/4 which are still open. This would also be one (tiny, tiny) step into that direction.


Update build.gradle

HAPI FHIR 5.1.0 update to 5.7.0

@snesm  Thank you for your contribution. Unfortunately I can't get it to pass the unit tests.  I'll have to look into why the failing test is failing on Windows, but not Unix.

@cragun47 The build did pass on Windows once (not first time) before i completed the DCO (which started the process again).  I do not have a windows host available right now to test on, but this might be a possible cause: https://github.com/junit-team/junit5/issues/2811

@snesm  I agree that was the problem.  Running another time solved the build.   I will merge


Welcome letter includes incorrect installation steps for VSCode

I received the welcome letter stating that Copilot Chat was enabled for my account. Unfortunately, the installation steps for VSCode within the letter are a bit incorrect.
The letter says to install the GitHub Copilot Nightly extension:

However, that extension has been deprecated making it impossible to install:

At this point, I double-checked that both VSCode and Github Copilot extensions were updated to the latest version. I also restarted VSCode but there still was no chat button displayed within the activity bar.
I decided to browse the list of github extension and that's when I noticed the GitHub Copilot Chat extension within the list:

After installing that extension, the chat button appears and gives the first impression that it's working correctly.

I had the same issues but I believe the new extension in the email should be "GitHub Copilot". I installed it and the chat works fine for me. GitHub Copilot nightly is no longer available

I have the same issue and greet by this:

However, I do not see the chat pane after installing GitHub Copilot Chat extension :(

I believe this has been fixed. Thank you for the heads up!


Add notice / warning when build fails and resolve.extensions is missing a leading dot, (developer experience improvement)

Feature request

The name of the configuration resolve.extensions is not clear enough about the fact that the extensions should start with . (e.g. ['.js', '.jsx'] and not ['js', 'jsx'])
The docs are OK, and this is quite a silly thing - until you find yourself trying to review every piece of a webpack config file for errors and keep getting failed builds
What is the expected behavior?
When a build fails (to prevent warning in cases where the extension shouldn't start with a dot) - if one of the extension in the configuration resolve.extensions does not start with a dot - show a warning or a hint (something like - Did you mean '.js'instead of'js' in resolve.extensions?
I'm not familiar enough with the guts of webpack, but, if it is also possible to check whether this change would have fix the issue that caused the build fail - be more explicit with the warning (e.g. when a resolver fails to find a file with listed extension - try adding dot if it is missing, and if it finds a file - show a more specific warning about that).
What is motivation or use case for adding/changing the behavior?
I just lost 1.5 hours debugging a webpack configuration, and after remove and installing every plugin/loader that I installed million times - I realised that this **** dot was the problem (though the error didn't suggest anything close to that)
How should this be implemented in your opinion?
In a developer friendly way!
see response for "What is the expected behavior?"
Are you willing to work on this yourself?
yes,  but I will probably need some guidance about where to start

Send a PR
Here is similar code and also the place where this need to be added:
https://github.com/webpack/webpack/blob/27796db6ebcae2bed804609e90411204d73c1031/lib/NormalModuleFactory.js#L678-L724

Bump

Bump


Add some more Azure regions

Pull Request Test Coverage Report for Build 320280081

3 of 6 (50.0%)  changed or added relevant lines in 2 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.009%) to 39.621%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/azurecore/src/utils.ts
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/common/ports.ts
4
74.14%

Totals

Change from base Build 320219385:
-0.009%

Covered Lines:
20478

Relevant Lines:
47381

💛  - Coveralls


ZH-trans: add examples/

source code

/hold

I think we should focus on the release-1.12, if the issue exists in v-1.12, we can fix there and then later it would be PR into the master branch and get fixed.

/close

@tengqm  @chenrui333 ok, thanks

I put an hold on this because I'm not sure the examples test case code will be triggered by the gate.

11009


Switch to ghcjs-dom

ghcjs-dom would allow for simplified development of ios/android applications via GHCi and jsaddle. GHCi with reloading would be killer for dev.
But ghcjs-dom does not seem to currently support the style property.  As soon as I can patch ghcjs-dom for element-direct styling, I'll integrate pure with it.

One downside of ghcjs-dom is insanely long initial build times and memory usage.  Splitting up GHCJS.DOM.Types would solve the memory issue, but would not touch the build-time issue.  If I fork off ghcjs-dom, ghcjs-dom-jsffi, and ghcjs-dom-jsaddle, I could extract the minimal necessary functionality for pure's core.

I settled on sticking with a custom ghcjs-base solution and moved development to separate libraries.


chore: Update Karpenter to use v1 APIs #1389

Fixes #N/A
Description
How was this change tested?
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

306 of 329 (93.01%)  changed or added relevant lines in 39 files are covered.
192 unchanged lines in 3 files lost coverage.
Overall coverage increased (+1.0%) to 79.756%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/cloudprovider/cloudprovider.go
32
33
96.97%

pkg/cloudprovider/events/events.go
1
2
50.0%

pkg/controllers/interruption/events/events.go
5
6
83.33%

pkg/controllers/nodeclass/hash/controller.go
10
11
90.91%

pkg/controllers/nodeclass/status/controller.go
3
4
75.0%

pkg/controllers/nodeclaim/tagging/controller.go
7
9
77.78%

pkg/providers/launchtemplate/launchtemplate.go
12
14
85.71%

pkg/controllers/nodeclass/termination/controller.go
6
9
66.67%

pkg/providers/amifamily/resolver.go
16
19
84.21%

pkg/fake/cloudprovider.go
0
8
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/apis/v1beta1/ec2nodeclass_status.go
9
0.0%

pkg/apis/v1beta1/ec2nodeclass.go
13
35.0%

pkg/apis/v1beta1/zz_generated.deepcopy.go
170
20.24%

Totals

Change from base Build<PHONE_NUMBER>:
1.0%

Covered Lines:
6016

Relevant Lines:
7543

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

333 of 362 (91.99%)  changed or added relevant lines in 40 files are covered.
192 unchanged lines in 3 files lost coverage.
Overall coverage increased (+1.0%) to 79.77%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/cloudprovider/events/events.go
1
2
50.0%

pkg/controllers/interruption/events/events.go
5
6
83.33%

pkg/controllers/nodeclass/hash/controller.go
10
11
90.91%

pkg/controllers/nodeclass/status/controller.go
3
4
75.0%

pkg/controllers/nodeclaim/tagging/controller.go
7
9
77.78%

pkg/providers/launchtemplate/launchtemplate.go
12
14
85.71%

pkg/utils/utils.go
25
27
92.59%

pkg/controllers/nodeclass/termination/controller.go
6
9
66.67%

pkg/providers/amifamily/resolver.go
16
19
84.21%

pkg/cloudprovider/cloudprovider.go
36
41
87.8%

Files with Coverage Reduction
New Missed Lines
%

pkg/apis/v1beta1/ec2nodeclass_status.go
9
0.0%

pkg/apis/v1beta1/ec2nodeclass.go
13
35.0%

pkg/apis/v1beta1/zz_generated.deepcopy.go
170
20.24%

Totals

Change from base Build<PHONE_NUMBER>:
1.0%

Covered Lines:
6045

Relevant Lines:
7578

💛  - Coveralls


doc: Add the listed mentors to the website - Kaylyn, Ceri

Task
Add the following mentors to the website
URL - https://womencodingcommunity.com/mentors
Mentors to be added

Kaylyn Van Norstrand
Ceri Shaw

Reference: https://womenwhocode.github.io/london/mentors (helpful to get mentor details)
Acceptance Criteria

Screenshot showing the mentors
Screenshot of the filtered list when mentor is searched

Assigned to @nverbic


feat: paged attention llama

We decided to not include the paged attention kernels, for now. Instead, we are relying on flash attention (with paged attention) kernels.


[otbn] Add error codes to documentation

I've been putting together the error handling RTL. There are a number of error conditions that need to be assigned an error code. This is what I've put together so far.
This is a draft PR as there's still some questions around how things fall into alert categories, use of interrupt on error etc (see #4318), so I don't address them here. Once we've sorted those out I'll update this appropriately.

This has been folded into #4426


Yvette Colomb: Blacklist autoclavedepot.com

Yvette Colomb requests the blacklist of the website autoclavedepot\.com. See the MS search here and the Stack Exchange search here.

autoclavedepot\.com has been seen in 0 true positives, 0 false positives, and 1 NAA.

Approved by Shree in Charcoal HQ


Prerelease version calculation doesn't consider commits

Hi all,
I would like to point out that the version calculation when running semver with  --releaseAs prerelease is not what I expect. I have gone through the issues, and found that #459, #601, #679 and #428 point to the same direction.
These issues are mentioned in discussion #385, but I think they were never addresed. This comment by @yjaaidi was giving a very precise "Expected Behavior" scenario.
In a nutshell, when running semver with --releaseAs prerelease, we would expect the version calculator to consider the commit types, and decide what number to bump (major, minor, patch or prerelease) based on both the last tagged commit and all commits since that one.
Is there any known workaround, or a way to do this properly? I am currently running prerelease in my CI, so forcing the bump (premajor/preminor/prepatch) is not an option, since I run the same NX command.
Thank you

Thanks @mpsanchis for your feedback on this.
This is in fact something that we didn't discuss yet concerning semver 3 and it's good that you raised the issue.
We have to include this in the discussion. If you have any suggestions on how you'd like to see this implemented with the new strategy system, then go ahead 😊

In the same boat here, would really love it if the prerelease could consider commits and generate a version with the preId based off of that!
Example below for clarity:
Start version commit & tag: 0.0.1 [Branch: main]
feat: [releaseAs: not set] <--<EMAIL_ADDRESS>[Branch: main]
fix:  [releaseAs: not set] <--<EMAIL_ADDRESS>[Branch: main]
feat: [releaseAs: prerelease, preId: beta] <--<EMAIL_ADDRESS>[Branch: dev]
feat: [releaseAs: prerelease, preId: beta] <--<EMAIL_ADDRESS>[Branch: dev]
fix: [releaseAs: prerelease, preId: beta] <--<EMAIL_ADDRESS>[Branch: dev]
merge to main branch --> [releaseAs: not set] <--<EMAIL_ADDRESS>
Hopefully I got it right and this helps?

@yjaaidi Hi, did you get any solution for this issue? Prerelease doesn't care about commits and commit types.


TLS Certification (Brick, Green)

Brick Green still has not submitted Cert for TLS
Cannot move forward in the process
Brick Green was supposed to upload cert today in the morning

Done - retreived the cert from Entrust and uploaded to NY

@brick-green User is asking a follow-up question on this.
From: Ummidi, Madan (HEALTH<EMAIL_ADDRESS>Sent: Thursday, June 23, 2022 2:58 PM
To: Green, Brick (CDC/DDPHSS/OD/HITSSU) (CTR<EMAIL_ADDRESS>Schabses, Karolina A (HEALTH<EMAIL_ADDRESS>Yang, Zhaohui (HEALTH<EMAIL_ADDRESS>Cc: Report Stream (CDC<EMAIL_ADDRESS>Kumar, Anshul (CDC/OD/OCS<EMAIL_ADDRESS>Brewster, Adrian (CDC/DDPHSS/OD/HITSSU) (CTR<EMAIL_ADDRESS>Reeves, Maurice (CDC/OD/OCS<EMAIL_ADDRESS>doh.dl.UPHN-Lite-Support<EMAIL_ADDRESS>Greene, Thomas (CDC/DDPHSS/OD/HITSSU<EMAIL_ADDRESS>Subject: RE: AFT Account - CDC Report Stream - New York State
Hi Brick, I’m following up on where are you on testing the connectivity. If you have a timeline please let us know. Thank you.


Addon

A helpful feature for the RIFT update is if you could have a tracker for kills on the "Crux Chronomicon" item so you could see the milestones without opening the inventory repeatedly

Most  likely won't add this since its only 100 kill cap and sends a chat notification if you hit a milestone.


[PROPOSAL] Capture Dataset creation and deletion as Lineage events

Purpose:
Currently jobs that create or drop tables wouldn't be connected to that dataset in the lineage graph. It seems like it would give a more complete picture of lineage if those kind of events were included along with "updates"
Proposed implementation
I don't know enough details of exactly how this would be done but this seems like it is likely relevant.

This would be the right place for Snowflake or Postgres extractors. Overall, the SQL parser there would need much more love to be useful in most cases.


Add ability for channel/thread links to be elements

It allows the creation of more interesting elements.

this also applies to emojis, why can't emojis be put in elements?

Discord has internal custom unicode formatting for emotes and discord links. This means that you can't even copy and paste as you have to use the actual discord character. For emotes this means you must have discord nitro for off server emotes, and for channels, if a private channel is referenced and you do not have access to it, a seperate discord character will be outputed meaning you cannot access the element.
Tldr: Problem with discord, not us.


Implement Rust test framework

Parsec E2E tests are implemented in Rust, but ran from an improvised framework written in bash. That makes the code a bit fragmented and the tests themselves rely on the environment/user to set everything up.
An alternative would be for us to implement a framework in Rust that runs all the tests that we need and handles the environment closer to the test material so that developers see exactly what's happening before and after their tests.
There's probably a bit of investigation here as to how best to handle this, since Rust isn't really a scripting language.

sounds sensible- assuming you're thinking of rustifying the running of tpm backends etc done in ci.sh?
would be nice if whatever we come up with works well with non rust clients (we need to test the clients too!)
maybe define api config points for rust tests, and cli or some such exposure for non rust (e.g. go)? - just noodling


newlib: fix build of nano variant on non-ARM architectures

Description of changes
librdimon.a is only available on ARM architectures, therefore building newlib-nano for other architectures (e.g. RISC-V) fails presently. This commit fixes this issue by only copying the library files that actually exist in the for loop body. Alternatively, it would be theoretically feasible to change the libraries iterated over based on the targeted architecture.
Flake to reproduce the build failure on RISC-V:

$ cat flake.nix
{
  inputs = {
    nixpkgs.url = "nixpkgs";
  };
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
  riscv-toolchain = import nixpkgs {
    localSystem = system;
    crossSystem = {
      config = "riscv32-none-elf";
      libc = "newlib-nano";
      abi = "ilp32";
    };
  };

  pkgs = import nixpkgs { inherit system; };
in
{
  devShells.x86_64-linux = {
    default = pkgs.mkShell {
      packages = with pkgs; [
        riscv-toolchain.buildPackages.gcc
      ];
    };
  };
};

}
$ nix develop
error: builder for '/nix/store/xg6481431pq17dv5rlj7sbw2cj2d1li2-newlib-riscv32-none-elf-<IP_ADDRESS>30120.drv' failed with exit code 1;
last 10 log lines:
>  /nix/store/02dr9ymdqpkb75vf0v1z2l91z2q3izy9-coreutils-9.3/bin/install -c -m 644  libnosys/libnosys.a riscv/libgloss.a riscv/libsemihost.a '/nix/store/7w0i5hdygnqhx852935dkbgla4f6zqgr-newlib-riscv32-none-elf-<IP_ADDRESS>30120/riscv32-none-elf/lib'
>  ( cd '/nix/store/7w0i5hdygnqhx852935dkbgla4f6zqgr-newlib-riscv32-none-elf-<IP_ADDRESS>30120/riscv32-none-elf/lib' && riscv32-none-elf-ranlib libnosys.a )
>  ( cd '/nix/store/7w0i5hdygnqhx852935dkbgla4f6zqgr-newlib-riscv32-none-elf-<IP_ADDRESS>30120/riscv32-none-elf/lib' && riscv32-none-elf-ranlib libgloss.a )
>  ( cd '/nix/store/7w0i5hdygnqhx852935dkbgla4f6zqgr-newlib-riscv32-none-elf-<IP_ADDRESS>30120/riscv32-none-elf/lib' && riscv32-none-elf-ranlib libsemihost.a )
> make[4]: Leaving directory '/build/newlib-<IP_ADDRESS>30120/riscv32-none-elf/libgloss'
> make[3]: Leaving directory '/build/newlib-<IP_ADDRESS>30120/riscv32-none-elf/libgloss'
> make[2]: Leaving directory '/build/newlib-<IP_ADDRESS>30120/riscv32-none-elf/libgloss'
> make[1]: Leaving directory '/build/newlib-<IP_ADDRESS>30120'
> cp: cannot stat 'librdimon.a': No such file or directory
> /nix/store/q8xlnkq3mb1sj6n87zps2mc86cd2xmjn-stdenv-linux/setup: line 146: pop_var_context: head of shell_variables not a function context
For full logs, run 'nix log /nix/store/xg6481431pq17dv5rlj7sbw2cj2d1li2-newlib-riscv32-none-elf-<IP_ADDRESS>30120.drv'.
error: 1 dependencies of derivation '/nix/store/ghjqz1sy73qknaiqfz0lragsxh6xjfjz-riscv32-none-elf-stage-final-gcc-wrapper-12.3.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/9g9b7jkhqa1z46mxhpfdbjsjiq3gbizb-nix-shell-env.drv' failed to build

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Hm, I can still successfully build pkgsCross.aarch64-multiplatform.newlib even though the output is empty. I also can't figure out why the find(1) based check doesn't work as it should.

Hm, I can still successfully build pkgsCross.aarch64-multiplatform.newlib even though the output is empty. I also can't figure out why the find(1) based check doesn't work as it should.

This was caused by the fact that the find invocation was only run for the nano variant. Updated the MR accordingly to execute find unconditionally. With these changes nix-build -A pkgsCross.aarch64-multiplatform.newlib fails here with "$out is empty" (could remove the error message if it is not deemed helpful).

FTR, the exit 1 is not necessary, as nixpkgs uses set -e, but the error message is appreciated!

@nmeum @sternenseemann can you comment on https://github.com/NixOS/nixpkgs/pull/266268 ?
It asserts that this PR broke newlib on all platforms except *-*-none.

See

https://github.com/NixOS/nixpkgs/pull/266364


Add rule for $.isFunction.

RE: #19, similar to #21.

Looks good, can we get this and #21 merged @dgraham ?


IGAPP-319: Change application/bundle id for integreat-test-cms build config

…taneous installations
This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

@maxammann should we only do this for Android or should we create another provisioning profile? Not sure what to do with our e2e builds. We could use another bundle identifier/application id or use that of integreat-test-cms or integreat.


[domain report] google.com

What is the unblocked domain?
http://google.com
What catagory is this domain?
[porn,malware,phishing,spam,ad]
Results for various scanners (only for some types)

[ ] VirusTotal
[ ] MyWOT
[ ] FortiGuard Labs

Other information
This domain is totally malware. The most popular website is malware?

[ ] Is this domain harmful? (i.e. malware, browser hijack)

???????

#41


Information about edges is not assigned to a graph if there is no "next neighbor" to assign to.

Input data to reproduce the issue:
polygon = Polygon([(0, 0), (1, 0), (1, 1), (2, 1), (2, 2), (0, 2)])
polygon = polygon.convex_hull
sites = {Point(0, 0): polygon.area / 3,
         Point(0, 1): polygon.area / 3,
         Point(0, 2): polygon.area / 3}

This will result in a KeyError: 'side'.
The reason is here:
https://github.com/LostFan123/pode/blob/30c9f9725ccf760d98c8f37924e5d31ddf452972/pode/pode.py#L1000-L1002
Possible solution:
def prepend_partitions_inline(partitions: Iterable[Partition],
                              graph: nx.Graph,
                              node_to_attach_to: Optional[Polygon]
                              ) -> nx.Graph:
    """Sequentially prepends partitions to the specified node"""
    new_graph = nx.Graph()
    empty_parts = [partition for partition in partitions
                   if partition.polygon.is_empty]
    new_parts = [partition for partition in partitions
                 if not partition.polygon.is_empty]
    new_nodes = [partition.polygon for partition in new_parts]

    new_graph.add_nodes_from(chain(new_nodes, graph.nodes))

    new_edges = (pairwise(new_nodes)
                 if node_to_attach_to is None
                 else pairwise(chain(new_nodes, [node_to_attach_to])))
    new_edges = list(new_edges)
    new_graph.add_edges_from(chain(new_edges, graph.edges))

    # copy node attributes:
    for node in graph:
        new_graph.nodes[node].update(graph.nodes[node])
    # copy edge attributes:
    for edge in graph.edges:
        new_graph.edges[edge]['side'] = graph.edges[edge]['side']
    # add new node attributes:
    for partition in new_parts:
        new_graph.nodes[partition.polygon].update(partition.sites)

    # add new edge attributes:
    for new_edge in new_edges:
        touching_edges = touching_sides(*new_edge)
        if touching_edges is not None:
            new_graph.edges[new_edge]['side'] = touching_edges[0]

    if node_to_attach_to is None:
        return new_graph

    # assign empty partitions' sites to their successor:
    for partition in empty_parts:
        new_graph.nodes[node_to_attach_to].update(partition.sites)
    return new_graph

Also, in prepend_partitions we can lose a site that should be added from an empty part if there is no next neighbor due to early return:
https://github.com/LostFan123/pode/blob/30c9f9725ccf760d98c8f37924e5d31ddf452972/pode/pode.py#L971-L982

Fixed in https://github.com/LostFan123/pode/pull/14


Implement the TilemapCollider Component

As previously described in issue #249, the tilemaps plugin still needs a way to auto-generate RigidBody shapes from tilemaps.

Tilemap listener interface for triggering ingame and editor updates on changes.
Incremental updates, no "rebuild all, every time" - except if it's reasonably cheap.

Profile this. Interactive editing should be possible on huge Tilemaps with multiple collision layers.

Shouldn't be required to be attached to the same GameObject as the Tilemap, but allow to specify the source Tilemap in an optional property.
Should allow to specify which collision layer(s) should be used. Singular or additive bitmask.

Previous Thoughts on Collision Data
There are various ways to define collision data and integrate collision detection with Duality. The easiest way for integration would be to define collision data in the Tileset generate RigidBody shapes from the actual tilemap. This allows for physical interaction without specialized code. How should this collision data look like?
Primitive / Boolean
Each tile is either passable or not. This approach is insufficient for more complex tiles.

Trivial
Easy to define in an editor.
Doesn't allow complex passability.
Doesn't allow diagonal slopes.

Four-Direction Passability
Each tile defines passability for all of its four edges separately. This allows "corridor" tiles that allow to move in one direction, but block paths in another. It's also what RpgMaker does, to name one example. This approach is a step in the right direction, as it allows more flexibility.

Easy to define in an editor.
Allows complex passability
Doesn't allow diagonal slopes.

Corner-Fill Solidify
Each tile defines whether each of its four corners is solid or not, as well as a general "fill" flag on whether the specified shape is filled or just a set of edges.

Easy to define in an editor.
Potentially harder to implement
Allows complex passability
Allows diagonal slopes.

It also allows a limited degree of collision shape interaction between tiles when their corners overlap, resulting in two adjacent near-impassable tiles joining together to form one solid impassable one.
This approach is likely to be preferred.
Vertex-Fill-Solidify
Building up on the previous approach, more vertices could be added to allow more sophisticated slopes and passability. However, this is probably too much.

Not that easy to define for users.
Hard to implement
Allows complex passability
Allows diagonal slopes and more complex geometry.

When more complex collision shapes are required, users can always tag their tiles and write a custom Component that expresses these complex shapes.

Some notes on collision shape generation:

Issue:

When layering multiple Tilemaps on top of each other, users might expect the highest collision to overwrite lower ones in some cases - like when placing a bridge over a an impassible background.
With the current concept, each layer would have its own collider, leading to all collisions being additive.

Solution:

Allow to specify N different Tilemap-CollisionLayer pairs as the source for a single collider, sorted by priority in descending order.
It would be possible to implement arbitrary logic for merging the collision info, while still allowing to use multiple colliders when preferred.

Immediate ToDo:

Update tileset data structures to allow specifying Corner-Fill-Solidify information (4 edge bits + fill bit)
Provide some convenient API to read / write these bits. Flags enum? Union struct?
Implement the collision info editor.
Implement the collider component in a naive way.
Verify it is working as expected.
Profile and optimize the collider component while editing a really big map.

Progress:

Specified tileset data structures for collision information in up to four layers.
It became apparent that serialization is currently very verbose for large amounts of structs / struct array / nested struct situations.
Experimented a little bit with potential improvements and created issue #328 to further investigate and implement them.

Immediate ToDo:

Look into the verbose serialization issue #328.
Implement the collision info editor.
Implement the collider component in a naive way.
Verify it is working as expected.
Profile and optimize the collider component while editing a really big map.

Progress:

Implemented the collision info editor.
Found our that the current Corner-Fill-Solidify approach won't work for cases where tile movement is constrained to horizontal / vertical movement: Since all corners are filled, those tiles remain indistinguishable from tiles where all movement is prohibited.

New Concept:

Issues with the old concept:

Corner-Fill-Solidify doesn't account for the case of restricted horizontal / vertical movement.
At the same time, setting a single corner bit is not useful at all. This is information that is not required.

Instead of encoding corners, let collision bits encode sides.

Top, Bottom, Left, Right.
DiagonalUp, DiagonalDown
Solid = OR combination of all bits

Immediate ToDo:

Adjust the collision data representation to match the new concept.
Adjust the collision info editor to match the new concept.
Implement the collider component in a naive way.
Verify it is working as expected.
Profile and optimize the collider component while editing a really big map.

Progress:

Adjusted collision data and collision info editor to match the new concept.

Immediate ToDo:

Implement the collider component in a naive way.
Verify it is working as expected.
Profile and optimize the collider component while editing a really big map.

Progress:

Investigated algorithms to generate collision shapes for a given tilemap section.
Came across the general problem of having fences, which do not form closed loops and can't be mapped to looped shapes either in a sane way. Concluding that proper collision shape generation requires chain shapes as well.
Duality RigidBodies currently only support circles, polygons and loop shapes. This needs to be extended to include edge or chain shapes.

Immediate ToDo:

Deal with the collision shape issue.
Implement the collider component in a naive way.
Verify it is working as expected.
Profile and optimize the collider component while editing a really big map.

Progress:

Dealt with the collision shape issue. Chain Shapes are now fully supported by Duality, both in core and editor.

Immediate ToDo:

Implement the collider component in a naive way.
Verify it is working as expected.
Profile and optimize the collider component while editing a really big map.

Progress:

Implemented sector-based collision shape generation that allows for partial updates.
Implemented optional outer border generation.
Implemented optional rounded corner generation.

Closing this.


Typo in lastAccessed() documentation

Please see https://api.dartlang.org/stable/1.24.2/dart-io/File/lastAccessed.html

Returns the date and time when the file was last accessed, if the information is available.
Throws a FileSystemException if the operation fails.

Please, change it to

Returns a Future< DateTime > that completes with the date and time when the file was last accessed, if the information is available.
If the operation fails then the future completes with a FileSystemException .

The same issue exists in lastModified(), setLastAccessed() and setLastModified() documentation

Fixed.


Typo in Quickstart Guide?

Reference: https://github.com/kennethreitz/requests/blob/master/docs/user/quickstart.rst#cookies
>>> jar.set('tasty_cookie', 'yum', site='httpbin.org', path='/cookies')
>>> jar.set('gross_cookie', 'blech', site='httpbin.org', path='/elsewhere')

Running this example I get the following error:
TypeError: create_cookie() got unexpected keyword arguments: ['site']
Shouldn't site= be domain=? The error goes away if I try that. If so I'll be glad to make a PR, I just want to make sure I'm not missing something

Good spot, @Cleod9! domain is definitely the keyword we want here. Would you be interested in opening a PR fixing this?

Good spot, @Cleod9! domain is definitely the keyword we want here. A PR for this would be very welcome.

No problem, I should be able to get a PR up within the next couple days

PR is up :)

Resolved by #3691.


[FLINK-31956][table] Extend COMPILE AND EXECUTE PLAN statement to read/write from/to Flink FileSystem

What is the purpose of the change
This PR extends the COMPILE PLAN statement to read/write from/to Flink FileSystem.
Brief change log
This PR contains two commits

f397fe6c Fix the issue that the current COMPILE PLAN statement cannot write the plan to a local path if its parent dir does not exist.
8f744a4e Extend the COMPILE AND EXECUTE PLAN statement to read from a remote plan with URI like hdfs:// or s3://. The impl leverages the power of ResourceManager to stage a local file copy, which will be cleaned up when the SQL gateway or client close.

Verifying this change
This change added tests and can be verified as follows:

The first commit can be verified by rolling back src changes ExecNodeGraphInternalPlan and running CompiledPlanITCase.
The second commit adds tests as follows:

FlinkSqlParserImplTest verifies the syntax works as expected
ResourceManagerTest verifies the newly introduced methods work as expected
insert.q verifies the changes work on the absolute path without the scheme, relative path without the scheme, and absolute path with the scheme for the local file system.
CompileAndExecuteRemotePlanITCase is an E2E case to verify the changes work as expected for HDFS remote path.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? FLINK-31957

Should rebase master after https://github.com/apache/flink/pull/22820 merge


Crash possibly caused by graphengine

More info at https://github.com/shinchiro/mpv-winbuild-cmake/issues/227
mpv Windows build recently picked up the latest commit of this repo, and users start to experience crash. Once reverted back to c9a15ec4f86adfef6c7cede8dae79762d34f2564 problems go away.
The stacktrace at crash site I managed to capture is
#0  0x00007ff7c326ccc5 in zimg::depth::left_shift_b2w_avx2(void const*, void*, unsigned int, unsigned int, unsigned int) ()
#1  0x00007ff7c3266eac in zimg::depth::(anonymous namespace)::IntegerLeftShift::process(graphengine::BufferDescriptor const*, graphengine::BufferDescriptor const*, unsigned int, unsigned int, unsigned int, void*, void*) const ()
#2  0x00007ff7c31f35f5 in graphengine::zimg::(anonymous namespace)::TransformNodeSimple::process(graphengine::zimg::FrameState*, unsigned int, unsigned int) const ()
#3  0x00007ff7c31f35b6 in graphengine::zimg::(anonymous namespace)::TransformNodeSimple::process(graphengine::zimg::FrameState*, unsigned int, unsigned int) const ()
#4  0x00007ff7c31f35b6 in graphengine::zimg::(anonymous namespace)::TransformNodeSimple::process(graphengine::zimg::FrameState*, unsigned int, unsigned int) const ()
#5  0x00007ff7c31f3afb in graphengine::zimg::(anonymous namespace)::SinkNode::process(graphengine::zimg::FrameState*, unsigned int, unsigned int) const ()
#6  0x00007ff7c441a742 in graphengine::zimg::GraphImpl::impl::run_node(graphengine::zimg::Node*, graphengine::zimg::GraphImpl::impl::SimulationResult const&, graphengine::detail::array<graphengine::Graph::Endpoint, 8ull> const&, unsigned int, void*) const ()
#7  0x00007ff7c31f0383 in graphengine::zimg::GraphImpl::run(graphengine::detail::array<graphengine::Graph::Endpoint, 8ull> const&, void*) const ()
#8  0x00007ff7c31ef740 in zimg::graph::FilterGraph::process(std::array<graphengine::BufferDescriptor, 4ull> const&, std::array<graphengine::BufferDescriptor, 4ull> const&, void*, int (*)(void*, unsigned int, unsigned int, unsigned int), void*, int (*)(void*, unsigned int, unsigned int, unsigned int), void*) const ()
#9  0x00007ff7c31ed416 in zimg_filter_graph_process ()
#10 0x00007ff7c0a7cb2d in do_convert_thread ()
#11 0x00007ff7c09cb4d5 in worker_thread ()
#12 0x00007ff7c0a65028 in run_thread ()
#13 0x00007ffac36454e0 in KERNEL32!BaseThreadInitThunk () from /c/Windows/System32/KERNEL32.DLL
#14 0x00007ffac486485b in ntdll!RtlUserThreadStart () from /c/Windows/SYSTEM32/ntdll.dll
#15 0x0000000000000000 in ?? ()

Thanks for the attempt. However, it looks like the same crash persists. Maybe there are more than one problems? Do you need the dimension and format? For which function?

The dimension and format of the operation that crashes is needed (zimg_filter_graph_build). To get the real format in mpv, use --zimg-threads=1.

Fixed another bug in 2c2d8702f3d6c71d8919ec9f3224cfaae44fb145.

The July 5th build no longer crashes. I believe the daily build picked up https://github.com/sekrit-twc/zimg/commit/2c2d8702f3d6c71d8919ec9f3224cfaae44fb145. Thanks for the fix.


Clap integration

This may be a bad suggestion but would it be possible to have built-in clap integration?
Tools like sftp, gdb, etc provide their own shell-like interface, usually built around readline. Something like rustyline+clap could provide an integrated solution for it.

Tools parse their command line arguments with getopt-like library A and may, if interactive mode is activated, read others command with readline-like library B. But I don't see why A and B should be related !

Well if there were something like brigadier for Rust, it'd be really convenient to use that for readline-like command parsing. Because it's declarative: you give it the commands, and it figures out autocompletion and stuff on its own. That's the main thing here really.
Arguably using clap subcommands to build a readline-like interface is a bit of a hackjob, but, again it's not like there's a "brigadier for Rust" one could use instead. So, tradeoffs.

I don't see in brigadier sources any interaction with stdin !

Well yes brigadier isn't meant for use with stdin. It's a generic command parser mostly for Minecraft, so it has to not care about the input frontend.

There seems to be a crate that has tried this: https://crates.io/crates/slaps

All in all clap integration would be great for adding subcommands, and arguments for those subcommands in a nice and manageable manner.

I agree that clap integration would be really useful. Parsing input lines is simple enough, but generating a helper for completion support is quite boilerplate-heavy. I think it can be done in a separate crate, but, for better discoverability and to keep with rustyline changes, it would be nice for it to be developed under the rustyline umbrella.

+1, not that my vote counts. It would be great to have some way to implement rustyline::completion::Completer for a clap::CommandFactory or whatnot. I did find this, but it doesn't look like it handles flags and it also only supports CLAPv3.

For just parsing it seems to work nice (using shlex for tokenizing).
use clap::CommandFactory;
use clap::FromArgMatches;
use clap::Parser;
use clap::Error

#[derive(Debug, PartialEq, Eq, Parser)]
enum Command {
    /// Quit the REPL
    Quit,
    /// Undo statements
    Undo {
        /// Number of statements to undo
        n: Option<usize>,
    },
    /// Clear the repl history
    Clear,
}

impl Command {
    fn parse(input: &str) -> Result<Self, Error> {
        let args = ["".to_string()].into_iter().chain(shlex::Shlex::new(input));
        let matches = Command::command()
            .override_usage("> [COMMAND]")
            .disable_help_flag(true)
            .try_get_matches_from(args)?;
        Command::from_arg_matches(&matches)
    }
}

However, colors do not appear to show.


Adding Llava-Next (Llava 1.6) with full support.

What does this PR do?

Changed all models to extract embed_tokens in order to enable llava to separately call the embeddings and the core model layers.
Added VlmCausalLM to inherit from FlashMistral in order to be maximally supported. The only added logics sits on top and parses images
into pixel values, preallocates input_ids space for the image embeddings, and passes them for the model.
Added Clip for the vision tower.
Didn't add flash for the vision tower since there's no padding anyway.
Added heuristic (potentially incomplete) to calculate number of features before calculating the clip patches (allows for easier logic reuse of the LLM under the hood).

Still needs to be done:

[ ] Implement the image parsing in the controller side, to avoid downloading n times per TP shard and also refusing requests too large early and avoid issues where the truncation actually truncates the image.
[ ] Make sure it works with quantization properly.
[x] Make sure it works with TP>1

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

Awesome! Documenting that this PR should fix #1689 - right?

Awesome! Documenting that this PR should fix #1689 - right?

Indeed it would ! Not super generally quite yet (we need to transfer part of the token counting logic to rust, which means more code but we'll do the transfer slowly but surely).
The not generally means it can potentially trigger OOMs still because the rust part (in charge of scheduling) might make wrong assumptions on query regarding memory therefore it can potentially schedule more than the hardware can withstand. (If we make the scheduler too strict, we might disallow some legit requests, so we really need to transfer the whole logic in due time)

QQ: the docs specifically point to vicuna 13b 1.6 model, but what about all the other llava next models, including latest ones:
e.g.
liuhaotian/llava-v1.6-34b
lmms-lab/llama3-llava-next-8b
lmms-lab/llava-next-72b
lmms-lab/llava-next-110b

Also, when I try sharded, I get:
> File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 220, in serve_inner
    model = get_model(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/__init__.py", line 857, in get_model
    raise NotImplementedError("sharded is not supported for AutoModel")
NotImplementedError: sharded is not supported for AutoModel

But I have to use sharded for the 72b model.

Also, for liuhaotian/llava-v1.6-34b I get:
docker run -d --restart=always --gpus '"device=7"' \
--shm-size 12g \
-v $HOME/.cache/huggingface/hub/:/data \
-p 30030:80 \
--name next34b \
ghcr.io/huggingface/text-generation-inference:2.0.4 \
--model-id liuhaotian/llava-v1.6-34b --trust-remote-code --max-stop-sequences=10 \
--max-batch-prefill-tokens=32768 --max-input-length 4096 --max-total-tokens 8192

2024-05-28T02:53:53.846667Z ERROR text_generation_launcher: Error when initializing model
Traceback (most recent call last):
  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())
  File "/opt/conda/lib/python3.10/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/typer/core.py", line 778, in main
    return _main(
  File "/opt/conda/lib/python3.10/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 90, in serve
    server.serve(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 257, in serve
    asyncio.run(
  File "/opt/conda/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete
    self.run_forever()
  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 603, in run_forever
    self._run_once()
  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 1909, in _run_once
    handle._run()
  File "/opt/conda/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
> File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 220, in serve_inner
    model = get_model(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/__init__.py", line 908, in get_model
    raise ValueError(f"Unsupported model type {model_type}")
ValueError: Unsupported model type llava

2024-05-28T02:53:54.271514Z ERROR shard-manager: text_generation_launcher: Shard complete standard error output:

The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
Traceback (most recent call last):

  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 90, in serve
    server.serve(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 257, in serve
    asyncio.run(

  File "/opt/conda/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 220, in serve_inner
    model = get_model(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/__init__.py", line 908, in get_model
    raise ValueError(f"Unsupported model type {model_type}")

ValueError: Unsupported model type llava
 rank=0
2024-05-28T02:53:54.370653Z ERROR text_generation_launcher: Shard 0 failed to start
2024-05-28T02:53:54.370671Z  INFO text_generation_launcher: Shutting down shards
Error: ShardCannotStart

Even lmms-lab/llama3-llava-next-8b fails same way

This pull request comments out  the truncate function and raises MaxNewTokens error when prompt_length + max_new_tokens is larger than max_total_token. Any plan to fix it?


Added Task list to Readme.md

Fixes Issue
This PR fixes the following issues:
closes #issue-number

Changes proposed
Here comes all the changes proposed through this PR

Check List (Check all the boxes which are applicable)

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots
Add all the screenshots which support your changes

No changes, updates or conversation initiated. Hence closing :)


Feature/issue 33 - Remove 1 from range of random multipiers used to obscure data

Github Issue: #33
Description
Including 1 in the range of random int used to obscure the data means that for some builds, data is not obscured causing tests to fail.
Overview of work done
Changed range of random ints used to multiply data when obscure=True to start at 2 instead of 0
Overview of verification done
Unit tests pass
Overview of integration done
Tests pass.
PR checklist:

[x] Linted
[x] Updated unit tests
[x] Updated changelog
[x] Integration testing

See Pull Request Review Checklist for pointers on reviewing this pull request

The sonar quality gate is failing because I don't use a seed in the random generator, but I don't think we want one because for this we want a true randomization when obscure=True

Agreed on the random seed reasoning. Added a comment to the sonarcloud issue as won't fix:
https://sonarcloud.io/project/issues?resolved=false&branch=feature%2Fissue-33&id=podaac_hydrocron&open=AYwdK--2qBIZayE9QU5-&tab=activity


Changed mainPath to .config/indiepkg

Hello, config files should normally be located in ~/.config and not a dedicated folder in the users home.
So I changed the mainPath from .indiepkg to .config/indiepkg.
Greetings

.indiepkg contains package source as well, and I don't think it would be appropriate to move it to .config.

Another option would be to move the sources to ~/.cache/indiepkg, but I think creating .indiepkg is pretty bad and clutters the users home dir, since .cache and .config are already there to organize this stuff.

I still think .indiepkg should stay, because there are a lot of files that need to be stored when working with a package manager and it's easier and less cluttered to keep all the files in one spot.

IndiePKG also now even stores its source code in .indiepkg (this is for auto-updating) and it would be unfitting to put source code in .config.


Stop filtering out IPv6 interfaces for "localhost" if IPv6 is supported

@elprans @fantix I ended up fixing many things. Please review again.


Cannot build Portus Image: "update-alternatives: error: alternative path /usr/bin/bundle.ruby2.5 doesn't exist"

So I'm still having no luck in building an image from the master branch. I haven't been able to get an image built in about 2 weeks now.
When I run the build on the following file I get an error (update-alternatives: error: alternative path /usr/bin/bundle.ruby2.5 doesn't exist):
FROM opensuse/ruby:2.5
MAINTAINER SUSE Containers Team<EMAIL_ADDRESS>
ENV COMPOSE=1
EXPOSE 3000

WORKDIR /srv/Portus
COPY Gemfile* ./

# Let's explain this RUN command:
#   1. First of all we refresh, since opensuse/ruby does a zypper clean -a in
#      the end.
#   2. Then we install dev. dependencies and the devel_basis pattern (used for
#      building stuff like nokogiri). With that we can run bundle install.
#   3. We then proceed to remove unneeded clutter: first we remove some packages
#      installed with the devel_basis pattern, and finally we zypper clean -a.
 If you still face this issue, simply remove your image and pull it again just to be sure you are on the latest version of the tag.


[Docs] fix typo on Writing Tests page

name: "\U0001F4DD Documentation Fix"
about: Fixing a problem in an existing docs page
Checklist

[ ] Is there an existing issue for this PR?

link issue here

[ ] Have the files been linted and formatted?

What docs page needs to be fixed?

Section: Recipes
Page: Writing Tests

What is the problem?
The word "wheter" is used, but this seems to be a mistake.
What changes does this PR make to fix the problem?
It correct the word "wheter" to "whether".

Thanks!


Adds handling for Aeon requests

This was originally intended to be targeted just at Reading Room requests, but once I got into it, I realized that Duplication requests would basically use the same logic, so I've included code for that in this PR as well.
fixes #17
fixes #18
Some notes:

There are a couple of config updates, so you'll have to recreate config.py from config.py.example or add values to your existing file.
We have been promised an Aeon API endpoint for creating requests, but that doesn't exist yet, so it's not possible to fully test these methods. Changes to the structure of submitted data (among other things) may be necessary.
The AeonAPIClient code is based on ArchivesSnake. Depending on how idiosyncratic the Aeon API turns out to be, we could consider turning this into an installable package for other people to use.

@helrond There are obviously some TODOs in the parsing section of creating the AEON API requests and that's related to issue #53. I'm assuming we're good merging this PR as-is and then expanding the AS data as necessary to include the work in #53?

@p-galligan that was my thought, especially since we can't really test against an Aeon endpoint right now.


User automatically logged out when page is refreshed after 4.0.0 update.

I recently updated react-firebaseui to v4.0.0 from v3.1.2. There is an annoying bug: authenticated user is automatically logged out when the webpage is refreshed.
Browser: Tested on Chrome and Firefox
Reverted back to v3.1.2 to solve it temporarily.

Could be related to https://github.com/firebase/firebaseui-web-react/issues/67
Have you tried adding credentialHelper: 'none' in the config object? (https://github.com/firebase/firebaseui-web-react/issues/67#issuecomment-534718886)

Same here in Chrome. Any updates on this?
Didn't work for me @barbalex


Added CaesarCipher to Cryptography with encryption method

Added to C++ library.
Path: Hacktoberfest/C++ library/Cryptogrqphy/caesarCipher.cpp

Sorry for the inconveniences, due to which we were not able to merge PRs timely!

If you have some PRs remaining for Hacktoberfest, just send it, we will surely accept!


Nest an Anchor Element within a Paragraph

Challenge Waypoint: Nest an Anchor Element within a Paragraph has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

CatPhotoApp

cat photos

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

 View more
  Cat photos

Closing this as a duplicate of #3805
Before reporting bugs in the future please try Searching for Your Issue on Github
Thanks and happy coding!

Having the same problem as above. How does one move beyond this point? I have been asking in the chat for two days about this and realized there are numerous bugs submitted on this...


Add command to join or run command with reactions

I suggest to have a new command that people can run command using reactions like create game, join as  etc.

I could see the bot letting users use reactions to choose their colors, but not much more than that.


[Relay] Support for GroupNorm

Many modern models utilize GroupNorm, there is support for LayerNorm and InstanceNorm under tvm/relay/op/nn. It is especially helpful for training with low number of samples and more efficient than instance norm in terms of parameters. It would be valuable addition to add it to core set of operators as libraries like pytorch or mxnet already support it.

#5358


docs: Move members to Emeriti

Running an update of our membership with regards to the participation activity for the mentorship members:

Dan Shaw
Justin Maat
Abraham Agiri Jnr.
Conrad Hollomon

Thanks for your contributions, and making mentorship more enjoyable for everyone!

wanting to do this for sometime. 🤧 it hurts to leave.


Integrate futures-stable into futures crate.

futures-stable provides adapters to work with futures that contain
internal self-references.
futures-stable only works on nightly. A new nightly feature is
added to futures to turn futures-stable on. The futures-stable
items are re-exported from the stable submodule.
Also on nightly only, Future and Stream are implemented for
PinBoxes of futures and streams.

cc @cramertj

This looks great! Thanks! i'll merge once travis is happy.

Tests are failing because cargo test --all in the workspace root can't figure out that we want pin-api with default features turned off. Trying to figure out how to make that work.

Turned nightly off by default in futures-stable, which should get tests to pass.

this is unfortunate, since futures-stable does nothing unless nightly is turned on. But futures-stable is unfortunate in general

SGTM. There's a precedent for this in futures-channel, which is entirely cfg'd out when the std feature is disabled.

There's a precedent for this in futures-channel, which is entirely cfg'd out when the std feature is disabled.

Yea thats fine, the unfortunate part is that nightly is not a default feature in futures-stable. Ideally, if you depended directly on futures-stable, by default it would have all the nightly-only items in it.

Yeah, that is annoying.