Android Sign Out

That's not right. I finally found the sign out myself by going to my face | Settings | Sign Out on Android.

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

ID: a4d56b6e-a220-710c-f051-6e78bf0883fe
Version Independent ID: d1aa0964-725e-0b99-00c0-7ddcfad46920
Content: Sign out of Microsoft Teams - Microsoft Teams
Content Source: Teams/sign-out-of-teams.md
Service: msteams
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Refactor Solid.web client

Rename export module name from 'solid.js' to 'solid'.
Now usage is: require('solid')
Extract XMLHttpRequest to its own module, lib/xhr.js
Exclude xhr2 from browserify build (since it's not needed in browser)
Exclude rdflib from browserify build, explicitly
Extract common XMLHttpRequest logic to solidRequest()
Use XMLHttpRequest Level 2 semantics (onload instead of onreadystatechange)
since they have been merged into XMLHttpRequest standard, and supported by
all browsers

WIP, do not merge

Ready to merge.

Ok from Andrei, merging.


gh-2240 FederatedViewValidator improvement

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@5d1a433). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop    #2243   +/-   ##
==========================================
  Coverage           ?   66.17%
  Complexity         ?     2413
==========================================
  Files              ?      911
  Lines              ?    30431
  Branches           ?     3750
==========================================
  Hits               ?    20139
  Misses             ?     8708
  Partials           ?     1584

Continue to review full report at Codecov.

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


Overlaping characters for SSm fonts

None of the lig SSm fonts display correctly. The letters just overlap in the first character.
This is in a windows 10 OS. I thought at first this was an issue in my home PC, but the same thing happened in my work PC.
This is not an issue with VSCode only, I was able to reproduce in in MSWord.
Original

Lig version

Did you build OM Light with the latest version v2.2.2?

Yes, I had just pulled from master v 2.2.2, did npm install and build

Ok, I will rebuild and reinstall the fonts to see if I see the same thing.

I rebuilt the fonts and they all look fine. I believe your SSm version is not Operator Mono. NOTE that those characters are not fixed width. That looks like plain Operator (no Mono) which is a proportional font.

You are right. Issue on my end. Closing this now


Update redis.js so that revisions don't have to begin at 0

Explanation here: https://github.com/adrai/node-eventstore/issues/132

Haven’t looked deep into the changes...
is this backwards compatible? So if someone started to use redis before an updates to the future version of eventstore... will this work?
Can you add tests?
Is this really only relevant to redis?

This is backwards compatible
Yes I will add tests (probably will be a couple days though)
Yes this is only really relevant to redis

Started adding tests last night, but also I realized that this is NOT backwards compatible (at least without some kind of migration script). Apologies about the misleading comment above (edited now); I made the original changes a couple months ago so I also was not super "immersed" when I made that comment.
Basically, the previous version (meaning the current version in master) creates keys like this, and assumes the streamRevision based on sorted index:
// in this version, 121 is id of the first event. It is assumed revision = 0 because of the index
const prevKeys = [
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:121",
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:122",
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:123"
]

store.getEventsByRevision({ aggregate: 'myAgg', aggregateId: 'idWithAgg' }, 1, 3, (err, events) => {
  if (err) { /* blah */ }

  // events here will be the events 122 and 123, because it returns events at the indices (and thus assumed revisions) 1 and 2.
})

When the events for aggregate idWithAgg get super long, we might want to delete the oldest entry (or entries) -- assuming we've stored them somewhere else. At least, this is the use-case we came across. If we did delete this, then we get this:
// so now, 122 is id of the first event. It is assumed revision = 0 because of the index, ... TODO HERE
const prevKeys = [
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:122",
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:123"
]

store.getEventsByRevision({ aggregate: 'myAgg', aggregateId: 'idWithAgg' }, 1, 3, (err, events) => {
  if (err) { /* blah */ }

  // events here will ONLY be event 123, because it returns events at the indices (and thus assumed revisions) 1 and 2 [in this example index 2 doesn't exist, but if it did it would be offset].
  // importantly, this example returns events with revisions starting at 2 (not 1).
})

If we could explicitly add the revision to the redis key, then we could avoid this situation, which is what I did. So the keys now look like:
// note revision number at the end of these keys
const newKeys = [
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:121:0",
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:122:1",
  "eventstore:events:1529910910749:0:_general:myAgg:idWithAgg:123:2"
]

So now, any request for getEventsByRevision can actually filter on the revision.
But as mentioned above this is not backward compatible.
So, I guess there are a couple solutions.
One is to (1) write a migration script to add the revision to the keys, and (2) use branching logic that checks the format of the key and either calls the old version or the new version of the getEventsByRevision function.
Another is to bump a major version (and a hybrid solution is to do the first, and then remove the script and old function call in the new major version).
I am willing to implement these changes, but @adrai I would like to know:

If you think it's a change you want to incorporate, and
What your preferred strategy would be for this moving forward.

major version + (if possible) reference a migration script that could be used when switching to the new major version

Your approach and solution sound interesting. Maybe writing a new db driver that either combines the whole solution ( ie redis back by mongo ) or alternatively just the redis part, this way there won't be backward problems as the driver is new, and the whole solution could be packed in a clean and transparent way into the library.


New Issue - New Hire Orientation - Yim, T

Trying to request permission Asana. Please advise.

I think you posted this in the wrong place.

Thanks Bboreham for the advisement. Got it corrected. Much obliged.


Fixed some alignment of comments

Thank you for you contribution to the repo and the community

On 21 Sep 2017, at 13:05, RGauthamRam<EMAIL_ADDRESS>wrote:
You can view, comment on, or merge this pull request online at:
https://github.com/geekcomputers/Python/pull/234 https://github.com/geekcomputers/Python/pull/234
Commit Summary
Fixed some alignment of comments
File Changes
M powerdown_startup.py https://github.com/geekcomputers/Python/pull/234/files#diff-0 (30)
Patch Links:
https://github.com/geekcomputers/Python/pull/234.patch https://github.com/geekcomputers/Python/pull/234.patch
https://github.com/geekcomputers/Python/pull/234.diff https://github.com/geekcomputers/Python/pull/234.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/geekcomputers/Python/pull/234, or mute the thread https://github.com/notifications/unsubscribe-auth/ABHa0hDwNhz0kn1wKck19VG5JXlh4g3Yks5sklEHgaJpZM4PfN9Z.

You're welcome.


How to make a new app globally available

Once a derivation is created in result/$out how is it made globally available?
What I mean is how do I or anyone logged in run that derivation?
(without having to go to that [nix]shell)

We looked at this in Nix Hour #44! This could be covered in more detail though, feel free to open another issue if you have a specific question!


[Go Live][24 May]

Docs Build status updates of commit ff7e549:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/mstdd-landing.yml
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Remove SegmentLoaderConfig.numLoadingThreads config

Fixes #4421

Looks that the CI failure is not relevant to this patch.

@leventov can you do the backport please?

Marked release notes, it deserves a mention since a config parameter has changed.

@gianm yeah, I wasn't sure if this one or the backport should get the release notes.

@leventov @drcrallen why did we decide to remove druid.segmentCache.numBootstrapThreads config? we do want segment cache to be initialized in parallel on server startup.

@himanshug numBootstrapThreads is still there, just numLoadingThreads has been removed, for reasons from #4421.

@gianm ah sorry, looked more carefully now, false alarm.


Unique Jobs are not unique when using Dependency Injection

Laravel Version: 8.61.0, but whatever
PHP Version: 8.0.9, but whatever
Database driver: not involved
Cache driver: redis, but whatever

Description:
There's an job SaveEMAFromKlines implementing ShouldQueue, ShouldBeUnique interfaces with an implementation of uniqueId() method.
As well, there's console command, which dispatches loads of SaveEMAFromKlines jobs. However framework doesn't look on ShouldBeUnique interface and doesn't pay attention that unique job is not processed yet, but anyways dispatches all jobs.
Steps To Reproduce:
Job class
#[Immutable]
final class SaveEMAFromKlines implements ShouldQueue, ShouldBeUnique
{
    use Queueable;

    private const DEFAULT_QUEUE = 'save_ema_from_klines_queue';

    private function __construct(
        public string $symbol,
        public int $period,
        string $queue,
    ) {
        $this->onQueue($queue);
    }

    public function lowPriority(string $symbol, int $period): self
    {
        return new self($symbol, $period, self::DEFAULT_QUEUE);
    }

    public function uniqueId(): string
    {
        return $this->symbol.'#'.$this->period;
    }

    public function handle(): void
    {
        $timeInSeconds = 10;
        sleep($timeInSeconds);
    }
}

Command to dispatch jobs:
<?php

declare(strict_types=1);

namespace App\Console\Commands;

use App\Domain\Service\Kline\Command\SaveKlinesFromApi;
use Illuminate\Console\Command;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;

use function mt_rand;

final class FetchPricing extends Command
{
    protected $signature = 'price:eager-fetch {--symbol=} {--minutes=}';

    public function __construct(
        private BusDispatcher $busDispatcher,
    ) {
        parent::__construct();
    }

    public function handle(): int
    {
        $symbol = $this->option('symbol');

        for ($i = 0; $i < 1000; ++$i) {

            // if dispatch() function was used or Dispatchable trait was added to job,
            // there would be no problems, however both solutions are anti-patterns

            $this->busDispatcher->dispatch(
                SaveKlinesFromApi::lowPriority(
                    $symbol,
                    mt_rand(max: 2),
                ),
            );
        }

        return 0;
    }
}

Now, you should run worker and see that code you added in \Illuminate\Foundation\Bus\PendingDispatch::shouldDispatch, you did forget to add into \Illuminate\Bus\Dispatcher::dispatch. AFAIK, technical solution utilizes cache locks with laravel_unique_job prefix. I searched for it and it seems to be only in 2 places, which contain duplicated logic. One place is hidden in dispatch() function, which makes other place useless if we use DI.
Thanks!

I'm glad that you are so familiar with my posts that you were able to find and link them within two minutes of my previous reply :)
Anyway unlike my posts which were trying to be useful (one is giving my opinion about a PR that the author wanted to get into the framework, the other is about actually contributing to the framework which got merged too) the sentences you wrote did not bring anything useful to the table here. And I think we went hugely off-topic here already so there's no need for further comments about this.

There is another real issue related to this - cron jobs. When you do $schedule->job(Job) it doesn't check ShouldBeUnique and the job will be dispatched again. This is the real problem for very long-running jobs.
PS: Should I create a new issue?

I don't want to offed you all, however those antipatterns you promote (like facades, global functions) are making code unmaintainable mess (if use documentation examples) and furthermore, people trying to avoid all this framework sh** and write clean code using Dependency Injection and Dependency Inversion principles, are subject to not working framework functionality. Well, welcome to Laravel....

@rela589n I'll take a look at your issue when you've managed to submit a polite report.
@derekmd I truly appreciate all you've done so far on this issue tracker and get that you were reacting to their post but it's indeed best to not react to those kind of things. Thanks for your reply though.
@X-Coder264 Derek was reacting to an edited part of their post. In general I want to mention I that I appreciate both of your help on this repo but this issue tracker isn't the place for these kind of debates.
@LastDragon-ru I'm not sure if it was ever intended for the scheduler to ever check that interface. I believe it's normal that the job is dispatched again according to the everyXtime method? If you think this is an issue maybe indeed open a separate issue.

Hi did you managed to get ShouldBeUnique working? I am having the same issue #42297


Undefined symbols:  _EVP_MD_get_size

Bug description
Seeing linker errors: ld: Undefined symbols:  _EVP_MD_get_size
Wondering what to do to fix. CC: @majetideepak @assignUser @kgpai
[100%] Linking CXX executable velox_aggregation_fuzzer_test
ld: warning: ignoring duplicate libraries: '../../../lib/libgtest.a', '../../../lib/libgtest_main.a', '../../codegen/libvelox_codegen.a', '../../functions/prestosql/aggregates/libvelox_aggregates.a', '../../vector/tests/utils/libvelox_vector_test_lib.a', '../libvelox_exec.a', '/usr/local/lib/libre2.a'
ld: Undefined symbols:
  _EVP_MD_get_size, referenced from:
      folly::ssl::OpenSSLHash::Digest::hash_final(folly::Range<unsigned char*>) in libvelox_functions_prestosql.a[4](BinaryFunctionsRegistration.cpp.o)
      folly::ssl::OpenSSLHash::Hmac::hash_final(folly::Range<unsigned char*>) in libvelox_functions_prestosql.a[4](BinaryFunctionsRegistration.cpp.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)

System information
n/a
Relevant logs
No response

Found https://github.com/prestodb/presto/issues/19365 and https://github.com/prestodb/presto/wiki/Troubleshooting-known-build-issues
Trying
brew unlink openssl@3
brew link<EMAIL_ADDRESS>

That worked.

After the folly upgrade, we should be good with openssl@3


OoTR Compliance Update: Shadow Temple

This updates Shadow Temple's logic to match OoTR's. This was by far the simplest of the adult dungeons as expected, mostly because Shadow Temple is just a straight line. I did fix up a lot of Lens of Truth requirements (though there's still a little room to look at them even more carefully tbh, and they kinda don't matter because you get logically Lens locked at the start anyway). I also adjusted which scarecrow matters. Fun fact, the scarecrow before the boat is useless since Longshot can just reach the skull from the boat, but Hookshot can't reach the Scarecrow. This is almost certainly just an oops from the original devs. However, the other Scarecrow is very useful as it lets you reach the boss without the Bow if you have Longshot, and that really does come up (the fight isn't too bad if you're worried about that). Also, Hammer can't break the early bombable wall; that's an important fix!

👍


Enable curl extension by default

This would be great, so that composer 2.0 can perform parallel downloads, without people needing to opt-in to curl. I think many people won't notice that they forgot to add curl, and will end up with slower builds.

@GrahamCampbell ext-curl is enabled by default on each configuration. Here is a test workflow https://github.com/shivammathur/test-setup-php/actions/runs/165638300/workflow

Oh, where does that happen?

Ubuntu
Runner - https://github.com/actions/virtual-environments/blob/c5c5d14fefa1b75d05c8191fef1ef7df8dbe7ca6/images/linux/scripts/installers/php.sh#L40
https://github.com/shivammathur/setup-php/blob/38731c6386cb82423176e3eaf878615515c3da70/src/scripts/linux.sh#L352-L353
Windows
https://github.com/shivammathur/setup-php/blob/38731c6386cb82423176e3eaf878615515c3da70/src/scripts/win32.ps1#L358-L362
macOS
Each formula for PHP 5.6 and above is built --with-curl
For example PHP 7.3 - https://github.com/shivammathur/homebrew-php/blob/master/Formula/php%407.3.rb#L134
PHP 5.3 to PHP 5.5 builds have pre-built curl extension from macports project in the builds.

Thanks for the detailed reply. Very helpful. :)


How can i implement this Tab not at the top of the screen but at the middle of the screen?

override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
  let child_1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "child1")
  let child_2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "child2")
  return [child_1, child_2]
}

This lets me to add the tabs at the Upper of the viewcontroller. But i want them to be at the middle of the screen. how can i achieve this..??

Hi @01sunjon,
Are you using storyboard or creating the UI by code? If you are using storyboard then its really simple, since you could simply set the constrains for the buttonBarView where you want, in this case, to the middle.
If you are setting the UI programatically, then you should set the frame of buttonBarView programatically after viewDidLoad, or programatically add constraints to it.
Hope it helps! Regards,

Hi @01sunjon ,
It doesn't work by any of the method.

@01sunjon @vansh1sh @fedeojeda95
I met the same problem.
setting the constraints in storyboard doesn't work and the PagerTab always comes at the top of screen. How can I solve it ?

@taichikoumoto Try to set constraints properly, it did work for me after then.

Also had this issue but I figured it out as well. Along with the constraints, you have to ensure that you have the delegates set correctly.

Connect outlets and add layout constraints

We strongly recommend to use IB to set up our page controller views.
Drag into the storyboard a UIViewController and set up its class with your pager controller (MyPagerTabStripName). Drag a UIScrollView into your view controller view and connect PagerTabStripViewController containerView outlet with the scroll view.
Depending on which type of paging view controller you are working with you may have to connect more outlets.
For BarPagerTabStripViewController we should connect barView outlet. barView type is UIView. ButtonBarPagerTabStripViewController requires us to connect buttonBarView outlet. buttonBarView type is ButtonBarView which extends from UICollectionView. SegmentedPagerTabStripViewController has a segmentedControl outlet, if the outlet is not connected the library try to set up the navigationItem titleView property using a UISegmentedControl. TwitterPagerTabStripViewController doesn't require us to connect any additional outlet.


gcc, binutils: link to Cellar instead of system libs

Symlinks linuxbrew/lib to Cellar for gcc, where gcc will automatically look because that is the prefix. Should fix the issue discussed recently in #107.

so it seems that gfortran issue is still open on a stand-alone installation?..

So I managed to build GCC with this patch but attempting to compile binaries using the new GCC results in the following error:
Error: undefined method `gcc-4.9_build_version' for OS::Mac:Module
Please report this bug:
    https://github.com/Homebrew/linuxbrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting
/media/drive/home/user/.linuxbrew/Library/Homebrew/compilers.rb:119:in `block in find_compiler'
/media/drive/home/user/.linuxbrew/Library/Homebrew/compilers.rb:106:in `each'
/media/drive/home/user/.linuxbrew/Library/Homebrew/compilers.rb:106:in `find_compiler'
/media/drive/home/user/.linuxbrew/Library/Homebrew/compilers.rb:99:in `compiler'
/media/drive/home/user/.linuxbrew/Library/Homebrew/compilers.rb:82:in `select_for'
/media/drive/home/user/.linuxbrew/Library/Homebrew/extend/ENV/shared.rb:123:in `compiler'
/media/drive/home/user/.linuxbrew/Library/Homebrew/extend/ENV/std.rb:74:in `setup_build_environment'
/media/drive/home/user/.linuxbrew/Library/Homebrew/build.rb:90:in `install'
/media/drive/home/user/.linuxbrew/Library/Homebrew/build.rb:179:in `<main>'

I simply edited compilers.rb, took out the switch statement and hard coded it to the :gnu case and it works. That seems terribly hacky though and I'm sure there's something up. Shouldn't :gnu be triggered anyway?

Looks like #404 where it ignores HOMEBREW_CC.  Using --cc=gcc4.9 should fix the problem

This bug should be fixed upstream by Homebrew/homebrew@43c634f, which has been merged.

Can issues discussed here be related to the problems I'm encountering in #530? I may also be encountering the crtn.o issues discussed here.

@jrevillard I believe that 9318c13512d592db39e9bc29532bc4317ec8733c should fix the gfortran issue.
@jbaum98 Fixing the search path for crti.o and friends when linking other programs should be possible by adding -B#{HOMEBREW_PREFIX}/lib to LDFLAGS in ENV/std.rb.
I'm going to close this PR. Thanks for all your help in troubleshooting. If you still have current issues, please do comment or open a new issue to discuss them.


Error Handler!

I guess Lavalink error handler is missing. If the lavalink closes due to some error the whole bot will get crashed and no moderation commands can be used. I haven't tried to use the repo yet, so idk.

Right. We'll look into it... Thank you ;-)


Onboard Form Recognizer live testing resources in sovereign clouds

Form recognizer fails to deploy in US Gov and China Clouds because it is trying to generate SAS tokens for accounts that aren't available.

Create storage accounts
Upload assets into locations in the storage accounts
Update *ArmTemplateParameters in smoke-tests.yml file to include these new params

FYI @benbp

We're making progress on this in all Tier I languages, but are having a few issues getting the tests to finish within our timeout window.

@witemple-msft most of the sovereign cloud tests timeouts are much highyer, li

Closing in favor of #19442


Adjust blog image aspect ratio to adapt to different screen sizes

Describe the bug
On smaller screens the new blog appearance doesn't auto-adjust the image thumbnail aspect ratio, resulting in cut off border as can be seen in the screenshot attached below.
To Reproduce
Open https://glasskube.dev/blog/ on a laptop screen
Expected behavior
Images adjust automatically to smaller screens and borders are not cut off
Screenshots

Can I take this @jakepage91 ?


fix(video page): fixed videos page responsivenes by addjusting and ad…

…ding tailwind classes
ticket #578
no breaking changes

Hey @KarolSongin, can you review this? There is still an issue with the videos page. Can you check this out?
Screencast from 01-09-2023 11:31:19 AM.webm

Please have a look now @tobySolutions I have worked a bit longer on this now and I have changed image size as I think it looks better when it's full width + I think it's more common design to have a card with full width image

Please have a look now @tobySolutions I have worked a bit longer on this now and I have changed image size as I think it looks better when it's full width + I think it's more common design to have a card with full width image

Awesome @KarolSongin, I'll check it out now.

Looks good @KarolSongin!


Can't test slickGoTo function using mocha/enzyme.

We use the slickGoTo function to transition our slider based on a click event elsewhere on the page. Everything works the way we expect when we run our application, but our react unit test fails.
We have tested that everything works properly up until we call slickGoTo. The componentWillMount function is executed and activeIndex prop is successfully updated. The this.slider ref is defined and is called, but nothing seems to happen. The rendered html is not updating properly.
Thoughts?
The relevant parts of our code are as follows:
Component
import React, { Component } from 'react';
import Slider from 'react-slick';

export default class HeroImage extends Component {
  componentWillReceiveProps(nextProps) {
    const { activeIndex } = nextProps;
    if (this.slider) this.slider.slickGoTo(activeIndex);
  }

  render() {
    const { images = [] } = this.props;
    return (

        <Slider ref={ref=> { this.slider = ref;}}>
          {
            images.map((image, index) =>

            )
          }
        </Slider>

    );
  }
}

Test
import React from 'react';
import { mount } from 'enzyme';
import { expect } from 'chai';
import HeroImage from './heroImage';

const mockImages = [
  {
    medium: {
      url: 'main-medium.jpg'
    }
  },
  {
    medium: {
      url: 'alternate-a-medium.jpg'
    }
  }
];

describe('<HeroImage />', () => {
  let wrapper;
  let images;
  let hero;

  before(() => {
    wrapper = mount(<HeroImage images={mockImages} activeIndex={0} />);
    images = wrapper.find('.slick-slide img');
    hero = wrapper.find('.slick-active img');
  });

  it('should change hero image if activeIndex is changes', () => {
    const activeIndex = 1;
    wrapper.setProps({ activeIndex });
    expect(hero.props().src).to.equal(mockImages[activeIndex].medium.url);
  });
});

We actually discovered an error elsewhere in our unit tests that caused this as a side effect. Carry on. :)


OneDrive Rest API returns 503 errors for Duplicacy users

I'm the developer of Duplicacy, a cross-platform cloud backup tool that can back up to OneDrive and other cloud storages.  The OneDrive backend is REST based and doesn't use any official SDK.  It had been working well until early last week when our users started to report getting 503 errors when initializing the storage backend.  My own nightly build test also started to fail on last Wednesday due to the same errors.
The authentication seemed to work but the following request always caused the 503 error:
GET https://api.onedrive.com/v1.0/drive/root:/test/storage?select=id,name,size,folder\

OneDrive returned a html page rather than a json message:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>

<meta content='text/html; charset=utf-8' http-equiv='content-type'/>

<title>OneDrive</title>

Our services aren't available right now

We're working to restore all services as soon as possible. Please check back soon.

Ref A: 98D6E649BF0D4A08BB7CA813425F7544 Ref B: CHGEDGE0419 Ref C: 2017-09-05T15:43:05Z

Is there anything we can do to help fix this issue?

Hi @gilbertchen can you provide the headers that you're getting in the response that contains the body you posted above?

Thank you for your prompt reply.  Here are the headers and body of a new 503 response:
response header: map[Cache-Control:[no-store] Content-Length:[972] Content-Type:[text/html] Server:[Microsoft-IIS/10.0] X-Msedge-Ref:[Ref A: 825941555C2C4B0AAAD6E714B902D623 Ref B: CHGEDGE0718 Ref C: 2017-09-05T18:26:42Z] Date:[Tue, 05 Sep 2017 18:26:41 GMT]]
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><meta content='text/html; charset=utf-8' http-equiv='content-type'/><title>OneDrive</title>

Our services aren't available right now

We're working to restore all services as soon as possible. Please check back soon.

Ref A: 825941555C2C4B0AAAD6E714B902D623 Ref B: CHGEDGE0718 Ref C: 2017-09-05T18:26:42Z

See https://github.com/OneDrive/onedrive-api-docs/issues/697 for another repro.

@gilbertchen and @shinjikao what kind of devices are you seeing this issue on?

We run Duplicacy on desktops, Windows, macOS, Linux -- all gave the same 503 errors.

Thanks for the quick response @gilbertchen

@gilbertchen are you able to get us a new repro? We can get some better logs with something more current

Still the same error:
GET https://api.onedrive.com/v1.0/drive/root:/test1?select=id,name,size,folder
response header: map[Cache-Control:[no-store] Content-Length:[972] Content-Type:[text/html] Server:[Microsoft-IIS/10.0] X-Msedge-Ref:[Ref A: 5201D38872704D68B4EEF79FEEC20E5C Ref B: CHGEDGE0711 Ref C: 2017-09-07T23:54:33Z] Date:[Thu, 07 Sep 2017 23:54:32 GMT]]
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><meta content='text/html; charset=utf-8' http-equiv='content-type'/><title>OneDrive</title>

Our services aren't available right now

We're working to restore all services as soon as possible. Please check back soon.

Ref A: 5201D38872704D68B4EEF79FEEC20E5C Ref B: CHGEDGE0711 Ref C: 2017-09-07T23:54:33Z

Failed to load the OneDrive storage at one://test1: 503 Unexpected 503 response

Thanks @gilbertchen!
One thing you could try while we investigate from our side is to see if you can force whatever library you're using to NOT use HTTP/2. Definitely let us know if switching to HTTP/1.1 seems to resolve the issue.

Using HTTP/1.1 doesn't seem to make a difference:
request: GET /v1.0/drive/root:/test1?select=id,name,size,folder HTTP/1.1
Host: api.onedrive.com
User-Agent: Go-http-client/1.1
Authorization: Bearer xxxx
Accept-Encoding: gzip

request header: map[Authorization:[Bearer xxxx]]
response header: map[Server:[Microsoft-IIS/10.0] X-Msedge-Ref:[Ref A: 3D3BD59C53054F9F876D03A1D2B2D893 Ref B: CHGEDGE0621 Ref C: 2017-09-08T15:36:23Z] Date:[Fri, 08 Sep 2017 15:36:23 GMT] Cache-Control:[no-store] Content-Length:[972] Content-Type:[text/html]]
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><meta content='text/html; charset=utf-8' http-equiv='content-type'/><title>OneDrive</title>

Our services aren't available right now

We're working to restore all services as soon as possible. Please check back soon.

Ref A: 3D3BD59C53054F9F876D03A1D2B2D893 Ref B: CHGEDGE0621 Ref C: 2017-09-08T15:36:23Z

Failed to load the OneDrive storage at one://test1: 503 Unexpected 503 response

Thanks @gilbertchen. Thus far we've been unable to get a repro of this issue - would it be possible for you to create a small go program that exhibits the issue? I tried a simplistic one that hits one of our URLs but it worked ok.

This is a go program that can produce the issue.  You'll need a token file to run it; if you don't have one you can download from https://duplicacy.com/one_start.
package main

import (
    "fmt"
    "os"
    "io"
    "bytes"
    "io/ioutil"
    "net/http"
    "net/http/httputil"
    "encoding/json"

    "golang.org/x/oauth2"
)

func refreshToken(token *oauth2.Token) *oauth2.Token {

    method := "POST"
    url := "https://duplicacy.com/one_refresh"
    jsonInput, err := json.Marshal(token)
    if err != nil {
        fmt.Printf("Failed to encode the token: %v\n", err)
        return nil
    }

    request, err := http.NewRequest(method, url, bytes.NewReader(jsonInput))

    client := &http.Client{}
    response, err := client.Do(request)
    if err != nil {
        fmt.Printf("Failed to refresh the token: %v\n", err)
        return nil
    }

    defer response.Body.Close()

    newToken := oauth2.Token{}
    if err = json.NewDecoder(response.Body).Decode(&newToken); err != nil {
        fmt.Printf("Failed to decode the token in the response: %v\n", err)
        return nil
    }

    return &newToken
}

func main() {

    if len(os.Args) < 2 {
        fmt.Printf("Usage: %s <token file>\n", os.Args[0])
        return
    }

    description, err := ioutil.ReadFile(os.Args[1])
    if err != nil {
        fmt.Printf("Failed to read the token file: %v\n", err)
        return
    }

    token := new(oauth2.Token)
    if err := json.Unmarshal(description, token); err != nil {
        fmt.Printf("Failed to unmarshal the token file: %v\n", err)
        return
    }

    if !token.Valid() {
        token = refreshToken(token)
        if token == nil {
            return
        }
    }

    method := "GET"
    url := "https://api.onedrive.com/v1.0/drive/root:/test?select=id,name,size,folder"

    request, err := http.NewRequest(method, url, bytes.NewReader([]byte("")))

    request.Header.Set("Authorization", "Bearer " + token.AccessToken)

    requestTrace, err := httputil.DumpRequestOut(request, false)
    if err != nil {
        fmt.Printf("Failed to dump request: %v\n", err)
    } else {
        fmt.Printf("Request: %s\n", requestTrace)
    }

    client := &http.Client{}
    response, err := client.Do(request)
    if err != nil {
        fmt.Printf("Failed to send request: %v\n", err)
        return
    }

    fmt.Printf("Response status code: %d\n", response.StatusCode)
    fmt.Printf("Response header: %v\n", response.Header)
    buffer := bytes.NewBufferString("")
    io.Copy(buffer, response.Body)
    fmt.Printf("%s\n", buffer.String())
 }

However, while I was working on this program I realized what caused the issue.  The GET request was created with an empty reader as the body:
    request, err := http.NewRequest(method, url, bytes.NewReader([]byte("")))

As soon as I changed it to a nil body, it started to return the correct status code:
    request, err := http.NewRequest(method, url, nil)

So, it looks like OneDrive servers are sensitive to GET requests with an empty body?

Thanks so much for the details @gilbertchen, I'll pass them along and hope they'll point us in the right direction.

@gilbertchen can I ask what version of Go you're using? This is feeling more and more like a chunked encoding issue, but I'm unable to reproduce it with your sample either - I'm using 1.9.

go version go1.8.1 darwin/amd64
Thank you for keeping working on this!  I've already fixed Duplicacy to pass a nil body.  If I had created this program in the first place we could have found the issue much sooner.

No worries :)
So I have managed to get a repro myself now so we'll use it to figure out if the error is expected or not. It does appear, however, that it does NOT repro with Go 1.9 and so that may be indicative of a library issue and not a service issue. Having said that, I'd really like to see what's actually going across the wire but given that HTTP requests succeed, and so do HTTPS once bounced through Fiddler that's proving difficult.

We managed to get a consistent repro, and it looks like the issue is that the older Go version was including a Transfer-Encoding: chunked header, but not providing any body. This was causing a validation failure in our stack since it's technically not a valid request.
We're looking to see if there's a way to allow such requests through, but given the layer at which the validation is failing that is a non-trivial problem. As a result, I'm going to say this is resolve as a client issue, but I'll update this issue if we ever make a change on our side.

Thank you for getting to the bottom of this!


nuttx/include/spawn: Suppress compiler warning for posix_spawnattr_destroy.

Summary
When building with a c++ compiler and GCC 12.2.0, the following warning is emitted:
nuttx/include/spawn.h:178:40: warning: statement has no effect [-Wunused-value]
178 | #define posix_spawnattr_destroy(attr) (0)
Casting the attribute value to void has the same effect, whist silencing this warning.
Impact
Silence warning
Testing

Build with sim:ostest to verify normal build.
Build with custom application to verify build in our environemnt.

@g2gps please fix the compiler error:
spawn_main.c: In function 'posix_spawn_main':
Error: spawn_main.c:336:7: error: void value not ignored as it ought to be
  336 |   ret = posix_spawnattr_destroy(&attr);
      |       ^
Error: spawn_main.c:435:7: error: void value not ignored as it ought to be
  435 |   ret = posix_spawnattr_destroy(&attr);
      |       ^

I revisited my implementation to simply add a minimal implementation for posix_spawnattr_destroy.

I revisited my implementation to simply add a minimal implementation for posix_spawnattr_destroy.

need update CMakeLists.txt too


Evaluate using ScalaJS-React

ScalaJS-React is already pretty complete, and I think it'd be great if there weren't yet another way to write Scala.js + React. Is it possible to use ScalaJS-React instead of rolling your own facade?

I agree. It should be the same as with native JS React, so that you could potentially could reuse some of the code/backends.

@mariussoutier @mkotsbak i try to give you a first short answer. If you want a more in dept answer you have to wait for @chandu0101.
This project is relying on the loose coupling between the construction layer (react) and the presentation layer (react-dom for web and react-native for ios/android). This loose coupling was introduced in the 0.14 version of react, which is not yet supported in any of the stable versions of scalajs-react (first occurence of react 0.14 is in the RC1 version released today). But this project is older then just 1 day :D so @chandu0101 had to write his own facade for 0.14 react for this period of time.
For any questions about the further development of the sri project (especially the react-native part) and the combination with scalajs-react you have to wait for @chandu0101 answer to the questions.
PS: for the relay part i'm already working on a solution for scalajs-react.

@mariussoutier  @mkotsbak
before going to any technical details i have more scalajs-react code base to take care than anyone else (except David (@japgolly) :p) .

ScalaJS-React is already pretty complete,

Its actually more than complete with dom dsl and cool FP stuff. Unfortunately Sri web module is actually against dom primitives - Why no DOM dsl

Is it possible to use ScalaJS-React instead of rolling your own facade?

The only part can be reused between Sri and Scalajs-react is core react(no dom stuff) , this boils down to raw react facade(< 30 LOC) and element construction factory/builder. Currently scalajs-react ReactComponentB is using old React.createClass , Sri element factory is based on new React.Component which is faster(a must feature for mobile first library like Sri) than React.createClass . In other words there is nothing to reuse from scalajs-react at the moment, infact scalajs-react can reuse sri element factory . That being said having common react core module between scalajs-react and sri  would be awesome i am more than happy to work in that direction :)

Thanks for the elaborate answer. Then how about aligning the APIs so the switch will be easier?

Hi! Congrats on the release! :confetti_ball:

Sri element factory is based on new React.Component which is faster(a must feature for mobile first library like Sri) than React.createClass.

I didn't know that! Is that true? (I mean: are you sure?) Have you or anyone done any benchmarks, I'd love to see some numbers on that. Classes extending React.Component are less capable that ES3 style and React.createClass output - in the React docs they say some things are unsupported and bad luck basically (mixins, something about lifecycle methods too? can't remember). Therefore I wasn't planning on changing the scalajs-react to use it - from a Scala perspective it's just an impl detail. If you're saying there's a significant performance difference, maybe I should change it to use React.Component.

having common react core module between scalajs-react and sri would be awesome(to be honest its high on my wishlist), i am more than happy to work in that direction :)

That could be a very cool idea. At the same time though, I think it might be good to wait a while.  Being separate for a while will cause us both to do things differently, the way each of us think is best, which provides more innovation, then we can see what each other did and probably learn from each other.
Secondly, I already have plans to split scalajs-react into modules that correspond with React. At this point (v0.10 RC1) it looks pretty easy to do (I'll probably do it in v0.11 though - let things stablise). Once that's done I'd probably like to play around and experiment adding another module like react-native, or react-art or something.
So in summary, sounds great! but let's wait :smile:

I didn't know that! Is that true? (I mean: are you sure?) Have you or anyone done any benchmarks, I'd love to see some numbers on that

Even i didn't know that when i first choose React.Component over React.createClass , but after i build my movies app using React.Component i felt its faster than my scalajs-react-native movies app.
https://youtu.be/fVd3N-o3P9w?t=1493
In above video Joe Savona from the Relay team at Facebook did actually mentioned that classes are faster than React.createClass , i bet they did some benchmarks internally!
keeping speed factor aside i suggest to support React.Component in scalajs-react , i don't say that React.Component is "The" way to go , react team experimenting with other options too module pattern but they definitely don't go backwards (React.createClass) .

I think it might be good to wait a while

Sure, but sooner the better :)

Ok thanks for that info. It'll be pretty easy to pump out React.Component classes instead of React.createClass. I'll look into it. Using Scala.JS classes = ES6 though right? I worry that would make scalajs-react output JS incompatible with a number of browsers. I'll have to look into it. Maybe I'll add an option to choose which output it generates, support both.
Anyway, back to this issue.

I think it might be good to wait a while

Sure, but sooner the better! , i want scalajs to win at the end of the day :)

Well my open-source focus for now is scalajs-react itself. I've got to get the new release out and already there are a number of useful changes that I want to make in the next version. When I have a chance to breathe I want to spend some quality time on scalacss.
If sooner the better for you, feel free to send me PRs if there's something you need from scalajs-react, no problem! For the types of changes that I imagine you might want, probably good to check with my first before you start coding - I'd hate for you to do work only for me to have to reject it.

It'll be pretty easy to pump out React.Component classes instead of React.createClass, I'll look into it. Using Scala.JS classes = ES6 though right? I worry that would make scalajs-react output JS incompatible with a number of browsers.

Glad you recognized React.createclass as legacy ,ES6 classes are transpiled to ES5 so no browser issues, and btw i already done that work so no need reinvent the wheel (unless my implementation is garbage!).

Well my open-source focus for now is scalajs-react itself.

Well ofc our focus should on react which will help scala.js community, and i truly appreciate your work, without any doubt if there was no scalajs-react i shouldn't have choosen scala.js at that time ;)

I've got to get the new release out and already there are a number of useful changes that I want to make in the next version.

I agree there are many changes , but  i'am surprised when you left ES6 React.Component( landed in react 0.13). and i have a feeling that scalajs-react is focusing on individual project specific helper's than supporting core react features!

If sooner the better for you, feel free to send me PRs if there's something you need from scalajs-react, no problem!

I am afraid we both are not in sync, my proposal is to have a common core under some organisation that contains only way to define components nothing more. for this to happen i want to see scalajs-react ReactComponentB cleaned up not to have any dependency on dom, if its going to be huge work then we'll have common core with raw react facade and my ES6 way to build components and your scalajs-react core depends on that. let me know your thoughts on this.

Glad you recognized React.createclass as legacy

I have not yet. Cheers for the links you sent me but I haven't checked them out yet so I'm not aware of React calling it legacy yet.

i truly appreciate your work, without any doubt if there was no scalajs-react i shouldn't have choosen scala.js at that time

Thank you @chandu0101 ! Very kind words, I'm happy to have been helpful :D

i have a feeling that scalajs-react is focusing on individual project specific helper's than supporting core react features!

My goal for scalajs-react is the best Scala experience and type-safety. I don't see the importance whether it generates ES6 classes or createClass under the hood. If one is better performance than the other then I see it as a performance issue and I agree with the value of performance. I don't see the value in shifting to it just because JS-land is. As Scala users we don't even really see the JS output. At least that's my perspective on that situation.

I am afraid we both are not in sync, my proposal is to have a common core under some organisation that contains only way to define components nothing more. I want to see scalajs-react ReactComponentB cleaned up not to have any dependency on dom, if its going to be huge work then we'll have common core with raw react facade and my ES6 way to build components and your scalajs-react core depends on that. let me know your thoughts on this.

I don't know if that's a good idea or not. It might be, it might not. But I should be blunt and realistic so as not to accidentally mislead you: even if I were fully convinced that it's a good move, it would be a long while until I'd be able to prioritise it as a task in my free time. Open-source isn't a paying job and the amount of altruism I can dedicate to it is limited and already pre-allocated :) PRs are a different story. The PR door is always open.

wow i know where its going :P  , ok I think it might be good to wait a while!


kind: Mount bpffs individually into each docker container

Now that we are not mounting the fs any more as part of the application logic, make sure that we mount it during kind setup. The easiest way to achieve that is by using a DaemonSet that will run on each host and mount bpffs during pod startup with an initContainer.
Signed-off-by: Andreas Karis<EMAIL_ADDRESS>
- What this PR does and why is it needed

- Special notes for reviewers

- How to verify it

- Description for the changelog

LGTM


Issues with moving of franka robot

When I run the command to launch the gazebo file ros2 launch chess_manipulator simulation.launch.py, the gazebo file launches successfully. But when I try to move it using the example command(ros2 run chess_manipulator example_game) the robot breaks down and moves abnormally.

Hey, did u manage to fix this error, if so can you please share the where the issue was?

me too I have same issue. Did anyone solve it?
I'm assuming that it may possibly be related with ikine_min doesn't work in RobotClass.py 25th line


bug/regression: latest yams results in incomplete generation of types

Description
I'm not exactly sure where this bug is arising from (e.g. swift-openapi-generator or one of its dependencies like OpenAPIKit).
In short, using swift-openapi-generator with when the yams version is 5.0.X, the correct swift code (Types) is generated as part of generating types and client. When yams is 5.1.X, the generated code is missing fields. This is with an OpenAPI 3.1 json.
Reproduction
I have attached an example openapi.json along with the difference in the resulting generated swift code. Specifically, in looking at Components.Schemas.NewAccount and Components.Schemas.Account you will see that the one created with yams 5.0.X contains a phoneNumberPayload as part of each.  There is also a defined PhoneNumber struct and curiously it is not linked or used instead of phoneNumberPayload but that is perhaps a different improvement. For now, the phoneNumberPayload is usable with yams 5.0.X.
However, when building with yams 5.1.X, the generated NewAccount and Account do not contain phoneNumberPayload. It is dropped but should be there.
I have attached the example openapi.json and the example generated outputs.
openapi.json
generated_types_yams5.0.swift.txt
generated_types_yams5.1.swift.txt
I'm not sure if this is related but Yams 5.1.0 release notes the following breaking change:

Change how empty strings are decoded into nullable properties.
key: "" previously decoded into
struct Value: Codable { let key: String? } as Value(key: nil)
whereas after this change it decodes as Value(key: "").
This could be a breaking change if you were relying on the previous
semantics.

If it is helpful, the openapi.json was generated via Rust using Aide with Axum.

Rust struct definition
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash, JsonSchema)]
pub enum Role {
    #[default]
    #[serde(rename="user")]
    User,
    #[serde(rename="admin")]
    Admin,
}

#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash, JsonSchema)]
pub struct PhoneNumber {
    /// country code must contain only a set of digits 0-9
    /// it should be formatted without leading zeros.
    /// for example: U.S.A. should be `1` without `+` and without `00` e.g. not `001`
    /// it should be assumed that the `+` would be added by the system
    #[serde(rename = "countryCode")]
    pub country_code: String,

    /// the number should be a set of digits "333555222"
    /// without parens or dashes. It should not contain the country code
    /// however it should be formatted such that combining a `+` countryCode number
    /// would result in a complete functional international phone number
    #[serde(rename = "number")]
    pub number: String
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash, JsonSchema)]
pub struct NewAccount {

    /// username as A-Za-z0-9
    #[serde(rename = "username")]
    pub username: String,

    /// email address
    #[serde(rename = "email")]
    pub email: Option<String>,

    /// phone number
    #[serde(rename = "phoneNumber")]
    pub phone_number: Option<PhoneNumber>,

    /// The code (string) for referrals
    #[serde(rename = "role")]
    pub role: Role,

}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash, JsonSchema)]
pub struct Account {

    /// internal uuid for the user
    #[serde(rename = "id")]
    pub id: Uuid,

    /// username as A-Za-z0-9
    #[serde(rename = "username")]
    pub username: String,

    /// email address
    #[serde(rename = "email")]
    pub email: Option<String>,

    /// phone number
    #[serde(rename = "phoneNumber")]
    pub phone_number: Option<PhoneNumber>,

    /// The code (string) for referrals
    #[serde(rename = "role")]
    pub role: Role,

}

Package version(s)
OpenAPIKit 3.1.3
swift-algorithms 1.2.0
swift-argument-parser 1.3.1
swift-collections 1.1.0
swift-http-types 1.0.3
swift-numerics 1.0.2
swift-openapi-generator 1.2.1
swift-openapi-runtime 1.4.0
swift-openapi-urlsession 1.0.1
Yams 5.0.6 or 5.1.0 as described resulting in the problem
Expected behavior
The generated types for Account and NewAccount should contain phoneNumberPayload respectively (or even better if it directly contained PhoneNumber) for any version of Yams.
Environment
$ swift -version
swift-driver version: <IP_ADDRESS> Apple Swift version 5.10 (swiftlang-<IP_ADDRESS> clang-15<IP_ADDRESS>)
Target: x86_64-apple-macosx14.0

Additional information
No response

Hi @dpasirst,
this sounds very similar to https://github.com/apple/swift-openapi-generator/issues/553.
I looked at your doc, and I think the problem is that we're not handling the case of anyOf where one of the cases is just null. In Swift, it's not necessary to have that explicit null, because the fact that phoneNumber already is omitted from required in the Account schema, we'll already treat it as optional.
So in your case, if you edit:
                    "phoneNumber": {
                        "description": "phone number",
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/PhoneNumber"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },

to:
                    "phoneNumber": {
                        "description": "phone number",
                        "$ref": "#/components/schemas/PhoneNumber"
                    },

It should start working again. Please let me know if that fixed it 🙂

Hi @czechboy0 ,
To answer your question, it partially fixes it but not super friendly.
With your suggested change and yams 5.1.X, phoneNumber does indeed appear; however, it is of type OpenAPIValueContainer? and not type PhoneNumber as I would have expected.
In the original example (unmodified) with yams 5.0.X, phoneNumber is of type Components.Schemas.NewAccount.phoneNumberPayload? which is not ideal (would be nicest to just be PhoneNumber directly), but still easier to work with than OpenAPIValueContainer?.
Regards.

That's strange, I would expect it to be of the PhoneNumber type. Can you post your updated OpenAPI doc here again please?

@czechboy0 - as requested - openapi.json with the change you suggested applied in 2 places:
openapi.json

@dpasirst Your OpenAPI JSON file seemed malformed, in both places you had:
"phoneNumber": {
    "#/components/schemas/PhoneNumber",
    "description": "phone number"
},

but should be:
"phoneNumber": {
    "$ref": "#/components/schemas/PhoneNumber",
    "description": "phone number"
},

When the generator runs, it emits warning and error diagnostics, can you check if it caught the malformed JSON? It's possible it didn't regenerate, showed an error, so your generated files would still be the old ones.

@czechboy0 - great catch. I see that was caused by my manual edit to change the json per a few comments back, I seem to have been a little too aggressive in removing the "anyOf"...  I was not sure where to look for the generator error diagnostic. With the errored json, the Xcode build screen does not seem to indicate such a diagnostic, instead, it lists "- Diagnostics output path: <none - logs to stderr>".
Indeed, this:
"phoneNumber": {
    "$ref": "#/components/schemas/PhoneNumber",
    "description": "phone number"
},

does appear to work with both yams 5.0.X and 5.1.X.
In this case, the original posted json containing the anyOf is generated from a Rust project using Aide...and as already demonstrated manual editing is error-prone and less than ideal. Is this something that needs to be fixed upstream in that project or here on the client side?
In reviewing, https://github.com/apple/swift-openapi-generator/issues/553 , it seems the Aide generated openapi.json might be valid as it is generating with the "null" as quoted.

👋 I think I'm running into something similar with these warnings: Schema "null" is not supported, reason: "schema type", skipping
With something like this schema:
      "Cursors": {
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next"
          },
          "previous": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous"
          }
        },

I understand from reading a couple issues that the recommendation is to not include {"type": "null"} but I don't have direct control over this. This is a side effect of using pydantic + fastapi and dumping the openapi schema. Is there an easy path within this library to support "ignoring" those null types but still generating the type as optional?

I was able to work around this just by post-processing the schema to handle removing those anyOf types 👍

for me, I can move forward for now thanks to @czechboy0 , but given the openapi.json is server generated, I'm hoping the fix to properly support the schema will not be too complicated and hopefully can be resolved quickly.

Also having this issue. I'm using the schema directly from a django-ninja backend and it writes nullable types in the anyOf style. I'm getting dozens of warnings like Schema "null" is not supported, reason: "schema type" when generating. I'd like to not have to go trough and rewrite those optionals every time I update the schema.

I want to work with an API that returns null as value in JSON (without quotes).
So, in their case, when they use type: "null", it's not just the property is missing, so it can be optional nil in Swift, but rather it's null as value. Is it possible to support decoding this as well? or is this another topic?
response schema:
        text:
          type: [string, "null"]

        words:
          type: [array, "null"]
          items:
            $ref: "#/components/schemas/TranscriptWord"

returns
{
  "id": "abcdefghijklmn",
  "language_code": "en_us",
  "status": "queued",
  "text": null,
  "words": null
}

update_2: It's already decoded actually.

@atacan just confirming: you're not currently blocked by this issue?

@atacan Yes that's the same as #419

@simonjbeaumont Hi, I removed the type: "null" declarations. These nullable properties were in the required list of properties. I also removed them from there. It is now decoded as nil by the Foundation's JSON decoder.

Hi there, I'm still unclear on whether there is a fix or legitimate workaround for this issue, as it's causing a high amount of frustration not being able to declare/ use any nullable API types in our app.
Here's an example of a very contrived schema / route that returns a nullable string. The generated openapi.json file has the following:
"NullableSchemaResponse": {
        "properties": {
          "aNullableString": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Anullablestring"
          },
          "id": {
            "type": "string",
            "title": "Id"
          },
        },
        "type": "object",
        "required": [
          "aNullableString",
          "id",
        ],
        "title": "NullableSchemaResponse"
      },

In this form, the generated schema completely misses the aNullableString.
/// - Remark: Generated from `#/components/schemas/NullableSchemaResponse`.
        internal struct NullableSchemaResponse: Codable, Hashable, Sendable {
            /// - Remark: Generated from `#/components/schemas/NullableSchemaResponse/id`.
            internal var id: Swift.String
            /// Creates a new `NullableSchemaResponse`.
            ///
            /// - Parameters:
            ///   - id:
            internal init(id: Swift.String) {
                self.id = id
            }
            internal enum CodingKeys: String, CodingKey {
                case id
            }
        }

Trying what was suggested in this thread, to replace the anyOf with the following
"aNullableString": {
            "type": "string" ,
            "title": "Anullablestring"
          },

results in runtime errors when my API actually returns an null response. For clarity, here's the response I get using curl
❯ curl http://localhost:8000/new_nullable
{"aNullableString":null,"id":"123"}%

Apologies if I've missed something in these comments, is there a recommended path or workaround here?
Once again, it's making this borderline unusable if we can't support a nullable field. Our janky solution right now is using array type almost everywhere.

We're having similar issues in our app. We have had to write scripts to convert the yaml before we feed it into the OpenAPI generator which is not ideal.

Here's the script we are using to strip the invalid nullables:
https://gist.github.com/IanHoar/7960d3598c718c831636b1a07e817d39

Here's the script we are using to strip the invalid nullables:
https://gist.github.com/IanHoar/7960d3598c718c831636b1a07e817d39
⚠ this is not bug free, so use at your own risk. Its working okay in our project, but may not work in every situation

@IanHoar Thank you so much for sharing! Hope we can get some clarity from maintainers soon.


[Snyk] Upgrade semver from 7.5.4 to 7.6.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade semver from 7.5.4 to 7.6.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 25 days ago, on 2024-02-05.

Release notes

Package name: semver

7.6.0 - 2024-02-057.6.0 (2024-01-31)
Features

a7ab13a #671 preserve pre-release and build parts of a version on coerce (#671) (@ madtisa, madtisa, @ wraithgar)

Chores

816c7b2 #667 postinstall for dependabot template-oss PR (@ lukekarrys)
0bd24d9 #667 bump @ npmcli/template-oss from 4.21.1 to 4.21.3 (@ dependabot[bot])
e521932 #652 postinstall for dependabot template-oss PR (@ lukekarrys)
8873991 #652 chore: chore: postinstall for dependabot template-oss PR (@ lukekarrys)
f317dc8 #652 bump @ npmcli/template-oss from 4.19.0 to 4.21.0 (@ dependabot[bot])
7303db1 #658 add clean() test for build metadata (#658) (@ jethrodaniel)
6240d75 #656 add missing quotes in README.md (#656) (@ zyxkad)
14d263f #625 postinstall for dependabot template-oss PR (@ lukekarrys)
7c34e1a #625 bump @ npmcli/template-oss from 4.18.1 to 4.19.0 (@ dependabot[bot])
123e0b0 #622 postinstall for dependabot template-oss PR (@ lukekarrys)
737d5e1 #622 bump @ npmcli/template-oss from 4.18.0 to 4.18.1 (@ dependabot[bot])
cce6180 #598 postinstall for dependabot template-oss PR (@ lukekarrys)
b914a3d #598 bump @ npmcli/template-oss from 4.17.0 to 4.18.0 (@ dependabot[bot])

7.5.4 - 2023-07-077.5.4 (2023-07-07)
Bug Fixes

cc6fde2 #588 trim each range set before parsing (@ lukekarrys)
99d8287 #583 correctly parse long build ids as valid (#583) (@ lukekarrys)

    from semver GitHub release notes

Commit messages

Package name: semver

377f709 chore: release 7.6.0 (#661)
a7ab13a feat: preserve pre-release and build parts of a version on coerce (#671)
816c7b2 chore: postinstall for dependabot template-oss PR
0bd24d9 chore: bump @ npmcli/template-oss from 4.21.1 to 4.21.3
e521932 chore: postinstall for dependabot template-oss PR
8873991 chore: chore: chore: postinstall for dependabot template-oss PR
f317dc8 chore: bump @ npmcli/template-oss from 4.19.0 to 4.21.0
7303db1 chore: add clean() test for build metadata (#658)
6240d75 chore: add missing quotes in README.md (#656)
14d263f chore: postinstall for dependabot template-oss PR
7c34e1a chore: bump @ npmcli/template-oss from 4.18.1 to 4.19.0
123e0b0 chore: postinstall for dependabot template-oss PR
737d5e1 chore: bump @ npmcli/template-oss from 4.18.0 to 4.18.1
cce6180 chore: postinstall for dependabot template-oss PR
b914a3d chore: bump @ npmcli/template-oss from 4.17.0 to 4.18.0

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Need to be certain the Autocomplete for location works

Need to be certain the autocomplete for location is configured properly.  It is currently not working on my local server or on QA so the configuration must have changes in Sufia 7.
This is complete when upload a new work or edit an existing work and get an autocomplete on the Location field

Looks like the routes are missing:
2016-08-08 09:26:08 -0400 (70552) Started GET "/authorities/search/geonames?q=locat" for ::1 at 2016-08-08 09:26:08 -0400
2016-08-08 09:26:08 -0400 (70552)
ActionController::RoutingError (No route matches [GET] "/authorities/search/geonames"):
actionpack (4.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:21:in call'   newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'
actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in call'   newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'
railties (4.2.6) lib/rails/rack/logger.rb:38:in call_app'   railties (4.2.6) lib/rails/rack/logger.rb:20:in block in call'
activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in block in tagged'   activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in tagged'
activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in tagged'   railties (4.2.6) lib/rails/rack/logger.rb:20:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   actionpack (4.2.6) lib/action_dispatch/middleware/request_id.rb:21:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   rack (1.6.4) lib/rack/methodoverride.rb:22:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   rack (1.6.4) lib/rack/runtime.rb:18:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   activesupport (4.2.6) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   rack (1.6.4) lib/rack/lock.rb:17:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   actionpack (4.2.6) lib/action_dispatch/middleware/static.rb:120:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   rack (1.6.4) lib/rack/sendfile.rb:113:in call'
newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'   railties (4.2.6) lib/rails/engine.rb:518:in call'
railties (4.2.6) lib/rails/application.rb:165:in call'   railties (4.2.6) lib/rails/railtie.rb:194:in public_send'
railties (4.2.6) lib/rails/railtie.rb:194:in method_missing'   newrelic_rpm (<IP_ADDRESS>8) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in call'
rack (1.6.4) lib/rack/content_length.rb:15:in call'   unicorn (5.1.0) lib/unicorn/http_server.rb:562:in process_client'
unicorn (5.1.0) lib/unicorn/http_server.rb:658:in worker_loop'   unicorn (5.1.0) lib/unicorn/http_server.rb:508:in spawn_missing_workers'
unicorn (5.1.0) lib/unicorn/http_server.rb:132:in start'   unicorn-rails (2.2.0) lib/unicorn_rails.rb:33:in run'
rack (1.6.4) lib/rack/server.rb:286:in start'   railties (4.2.6) lib/rails/commands/server.rb:80:in start'
railties (4.2.6) lib/rails/commands/commands_tasks.rb:80:in block in server'   railties (4.2.6) lib/rails/commands/commands_tasks.rb:75:in tap'
railties (4.2.6) lib/rails/commands/commands_tasks.rb:75:in server'   railties (4.2.6) lib/rails/commands/commands_tasks.rb:39:in run_command!'
railties (4.2.6) lib/rails/commands.rb:17:in <top (required)>'   railties (4.2.6) lib/rails/app_rails_loader.rb:45:in require'
railties (4.2.6) lib/rails/app_rails_loader.rb:45:in block in exec_app_rails'   railties (4.2.6) lib/rails/app_rails_loader.rb:34:in loop'
railties (4.2.6) lib/rails/app_rails_loader.rb:34:in exec_app_rails'   railties (4.2.6) lib/rails/cli.rb:5:in <top (required)>'
railties (4.2.6) bin/rails:9:in require'   railties (4.2.6) bin/rails:9:in <top (required)>'
/Users/cam156/.rbenv/versions/2.3.1/bin/rails:23:in load'   /Users/cam156/.rbenv/versions/2.3.1/bin/rails:23:in <top (required)>'
bundler (1.12.3) lib/bundler/cli/exec.rb:63:in load'   bundler (1.12.3) lib/bundler/cli/exec.rb:63:in kernel_load'
bundler (1.12.3) lib/bundler/cli/exec.rb:24:in run'   bundler (1.12.3) lib/bundler/cli.rb:304:in exec'
bundler (1.12.3) lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'   bundler (1.12.3) lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command'
bundler (1.12.3) lib/bundler/vendor/thor/lib/thor.rb:359:in dispatch'   bundler (1.12.3) lib/bundler/vendor/thor/lib/thor/base.rb:440:in start'
bundler (1.12.3) lib/bundler/cli.rb:11:in start'   bundler (1.12.3) exe/bundle:27:in block in <top (required)>'
bundler (1.12.3) lib/bundler/friendly_errors.rb:98:in with_friendly_errors'   bundler (1.12.3) exe/bundle:19:in <top (required)>'
/Users/cam156/.rbenv/versions/2.3.1/bin/bundle:23:in load'   /Users/cam156/.rbenv/versions/2.3.1/bin/bundle:23:in '

I wonder if we need to add the QuestioningAuthority gem routes to routes.rb, although I though Sufia already handled that for us.

mount Qa::Engine => '/authorities' is in the internal_app's routes.rb

Yep, I think we have to mount the routes.  That may be the only issue here...


Should suffixes be allowed?

I have a date formatted as November 7th, 2018 and the parsing fails at the 7th part. Should suffixes be allowed?

Well, go lib doesn't like it much, let me play with it and see how possible it is.  https://play.golang.org/p/DD9TAXaKWWl

Yes, I already know that Go doesn't like them.
I tried a couple of different options to work around this issue. I'm curious to know if there are any other more creative ways to solve the problem.
First, I benchmarked the original code:
$ go test -bench Parse
goos: linux
goarch: amd64
pkg: github.com/eslindsey/dateparse
BenchmarkShotgunParse-4            20000             85675 ns/op           13136 B/op        169 allocs/op
BenchmarkParseAny-4                50000             29390 ns/op            4336 B/op         45 allocs/op
BenchmarkParseDateString-4         30000             35384 ns/op             208 B/op         13 allocs/op
PASS
ok      github.com/eslindsey/dateparse  7.105s

Regular Expressions
Then, I compiled a regular expression in init and used it to replace all instances of the suffixes with the ordinals:
var NumberSuffixes = regexp.MustCompile(`(\d)(st|nd|rd|th)\b`)
...
datestr = re.ReplaceAllString(datestr, "$1")

Performance was not satisfactory. It ran 5x slower and nearly doubled the number of allocations:
$ go test -bench Parse
goos: linux
goarch: amd64
pkg: github.com/eslindsey/dateparse
BenchmarkShotgunParse-4            20000             85854 ns/op           13136 B/op        169 allocs/op
BenchmarkParseAny-4                10000            145080 ns/op            5360 B/op         87 allocs/op
BenchmarkParseDateString-4         50000             56193 ns/op             208 B/op         13 allocs/op
PASS
ok      github.com/eslindsey/dateparse  8.593s

Then I tried converting the string to a byte slice in case the call to ReplaceAllString could be optimized more as a call to ReplaceAll:
datestr = string(NumberSuffixes.ReplaceAll([]byte(datestr), []byte{'$','1'}))

Apparently not:
$ go test -bench Parse
goos: linux
goarch: amd64
pkg: github.com/eslindsey/dateparse
BenchmarkShotgunParse-4            20000             85723 ns/op           13136 B/op        169 allocs/op
BenchmarkParseAny-4                10000            147180 ns/op            5760 B/op        101 allocs/op
BenchmarkParseDateString-4         50000             47357 ns/op             208 B/op         13 allocs/op
PASS
ok      github.com/eslindsey/dateparse  8.019s

String Manipulation
I tried simple string replacement:
    // Eliminate suffixes from numbers before processing
    datestr = strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(
              strings.Replace(datestr,
              "1st", "1", -1),
              "2nd", "2", -1),
              "3rd", "3", -1),
              "4th", "4", -1),
              "5th", "5", -1),
              "6th", "6", -1),
              "7th", "7", -1),
              "8th", "8", -1),
              "9th", "9", -1),
              "0th", "0", -1),
              "1th", "1", -1), // 11th
              "2th", "2", -1), // 12th
              "3th", "3", -1)  // 13th

It's ugly, but I was surprised at how efficient this one was, only 33% slower than the original, and no extra allocations if the string isn't found. I would have expected the compiled state machine from the previous test to be more efficient, but I guess not:
$ go test -bench Parse
goos: linux
goarch: amd64
pkg: github.com/eslindsey/dateparse
BenchmarkShotgunParse-4            20000             86042 ns/op           13136 B/op        169 allocs/op
BenchmarkParseAny-4                30000             40620 ns/op            4336 B/op         45 allocs/op
BenchmarkParseDateString-4         50000             50755 ns/op             208 B/op         13 allocs/op
PASS
ok      github.com/eslindsey/dateparse  8.339s

When I add in some suffixes so that replacement must occur, I obtain the following results (of course we are no longer comparing apples to apples here):
$ go test -bench Parse
goos: linux
goarch: amd64
pkg: github.com/eslindsey/dateparse
BenchmarkShotgunParse-4            20000             78854 ns/op           13584 B/op        171 allocs/op
BenchmarkParseAny-4                30000             45551 ns/op            4944 B/op         65 allocs/op
BenchmarkParseDateString-4         30000             43081 ns/op             208 B/op         13 allocs/op
PASS
ok      github.com/eslindsey/dateparse  7.208s

So using string manipulation, we could incur a slight (33%) performance penalty if the string doesn't contain suffixes, and a 55% speed penalty if replacement must occur.
If there is a more efficient approach, I'm all ears. If not, then I will leave it up to you whether you want that 33% performance hit in exchange for more flexibility with date formats.

Let me know if those changes worked if you can, thank you!

This fix appears to have solved the problem.
I didn't realize the complexity of the parser at first glance; I should have inspected the source code more fully. This will be much more efficient than the approach I was taking.

Without understanding the entire parser, will this handle all of the scenarios listed in https://github.com/araddon/dateparse/issues/74#issuecomment-441119351?
Specifically:
\d*1st
\d*2nd
\d*3rd
\d*[04-9]th
\d*11th
\d*12th
\d*13th

I believe that covers all of the suffixes.


Remove hard-coded "About" main navigation page

This will be replaced by a new, user-modifiable "Pages" About page.

Probably a good idea to have sleepdata.org/about/ set to forward to new page location, e.g. sleepdata.org/pages/about (unless "Pages" URL structure might updated further)


CLDC-3365 Validate BU file size

At the moment we don't have a limit on BU file size, as long as it's a csv we try to load it into memory and process it but in some instances when file is too large, the service can't handle it.
We wouldn't expect more than 13k rows of data to be logged at any given time (and that is unlikely)
13 000 rows with data ~ 4MB (4.2MB is the file is saved as .xlsx)
13 000 rows with data + empty rows up to ~1mil  ~ 140MB
This PR limits the size of the file for BU to 10MB

Do we know how well our system does at handling a 10 megabyte file of data? (e.g. how long it takes)

@RachaelBooth I don't think we had a file this large, I think 10 is slightly arbitrary. The largest files we have processed would have been between 4000 and 5000 rows, not sure about size, because of retention, but I suspect it would have been under 2MB. Anything larger than those files was way larger, and in most cases just a badly saved .xlsx files with lots of empty rows, so I think the main purpose for this limit is to prevent those super large files, cause the medium large files are unlikely to occur in the first place


optional semicolon on if statements

This PR addresses https://github.com/iovisor/bpftrace/issues/192.
Currently, 2 tests fail:
[  FAILED  ] semantic_analyser.call_func
[  FAILED  ] semantic_analyser.call_name

but testing the same expression manually through bpftrace works.
cneira@Trixie:~/bpftrace/build$ sudo bpftrace -e "kprobe:f { func(\"blah\"); }"
Attaching 1 probe...

Maybe is needed to modify the test or there is something wrong that I'm not aware.
This script works ok with the grammar changes.
tracepoint:sched:sched_switch
{

	$TASK_RUNNING = 0;	// from linux/sched.h, workaround for #153
	if (args->prev_state == $TASK_RUNNING) {
		@qtime[args->prev_pid] = nsecs ;
	}
	$ns = @qtime[args->next_pid];
	if ($ns) {
		@usecs = hist((nsecs - $ns) / 1000);
	} else {
	delete(@qtime[args->next_pid]) ;
	}
}

Nice, thanks! What's your opinion on just doing away with semicolons on if statements? Does that make it simpler or worse?
I'm also wondering about this line:
      |	stmts semicolon stmt    { $$ = $1; $1->push_back($3); }

Wouldn't that mean that statements could be joined without semicolons, since semicolon is either ";" or "".
I kinda think it might be better to have semicolon mean ";" always, and then something else that means ";" or "". Eg, optionalsemicolon or endsemicolon.
Minor: looks like some whitespace movement in the patch. bpftrace is space indentation only.

Nice, thanks! What's your opinion on just doing away with semicolons on if statements? Does that make it simpler or worse?
I'm also wondering about this line:
      |	stmts semicolon stmt    { $$ = $1; $1->push_back($3); }

Wouldn't that mean that statements could be joined without semicolons, since semicolon is either ";" or "".

That's right statements could be joined without a semicolon, if that's an issue I'll recheck the grammar.
cneira@Trixie:~/bpftrace/build$ sudo bpftrace -e "kprobe:f { func(\"blah\")  func(\"ble\") }"
Attaching 1 probe...
^C

I kinda think it might be better to have semicolon mean ";" always, and then something else that means ";" or "". Eg, optionalsemicolon or endsemicolon.

You are right about the token name, it should be optional.semicolon or something that reflects it's intent.

Minor: looks like some whitespace movement in the patch. bpftrace is space indentation only.

I'm sorry I'll fix that.

@brendangregg,
I'll close this PR and rework on the grammar.
Thanks for reviewing.


Clarify the set vs sorted_set situation

I was confused when I read on https://stdgems.org/ that the set gem...

Also comes with SortedSet for ordered collections.

I have to visit https://stdgems.org/set/ to read the full story:

The SortedSet class has been extracted to the sorted_set gem

This PR changes the “main” description to not mention SortedSet, but having the notes still mention it, including which version of the set gem no longer includes it.

Great improvement, thanks!


[CBR-183] Backport documentation examples to develop

Description
Backporting examples to develop: https://github.com/input-output-hk/cardano-sl/pull/2718#issuecomment-390206487
Linked issue
https://iohk.myjetbrains.com/youtrack/issue/CSL-2511
Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[x] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

Closed in favor of #2967


DatePicker: Added prop-type for cancel text

Hi, I've added a little change to add option to set a specific cancel text for DatePicker component

thanks


ignore common temporary editor files during compilation

I ran into an error because a temporary file named .#model.sql in the same directory as my model was deleted mid-compilation, resulting in this trace:
Traceback (most recent call last):
  File "/Users/cmerrick/.virtualenvs/dbt/bin/dbt", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/cmerrick/dbt/scripts/dbt", line 8, in <module>
    dbt.main.main(sys.argv[1:])
  File "/Users/cmerrick/dbt/dbt/main.py", line 77, in main
    parsed.cls(args=parsed, project=proj).run()
  File "/Users/cmerrick/dbt/dbt/task/compile.py", line 14, in run
    created_models = compiler.compile()
  File "/Users/cmerrick/dbt/dbt/compilation.py", line 254, in compile
    linker = self.__do_compile(sources, project_models)
  File "/Users/cmerrick/dbt/dbt/compilation.py", line 227, in __do_compile
    template = jinja.get_template(f)
  File "/Users/cmerrick/.virtualenvs/dbt/lib/python2.7/site-packages/Jinja2-2.8-py2.7.egg/jinja2/environment.py", line 812, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/Users/cmerrick/.virtualenvs/dbt/lib/python2.7/site-packages/Jinja2-2.8-py2.7.egg/jinja2/environment.py", line 774, in _load_template
    cache_key = self.loader.get_source(self, name)[1]
  File "/Users/cmerrick/.virtualenvs/dbt/lib/python2.7/site-packages/Jinja2-2.8-py2.7.egg/jinja2/loaders.py", line 187, in get_source
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: base/.#clients.sql

this is one option... or you could stop using emacs. more information here
kidding, looks good


Couchdb: Don't chown /var/log to couchdb

Motivation for this change
The default for logFile is /var/log/couchdb.log, and the tmpfile rules chown
${dirOf cfg.logFile}, which is just /var/log, to couchdb:couchdb.
This was found by Edes' report on IRC, which looked like
Detected unsafe path transition /var/log → /var/log/journal during canonicalization of /var/log/journal

While this bug has been present since the initial couchdb module in
62438c09f7cc811f994510550614c9265b3b1d18 by @garbas, this wasn't a
problem, because the initial module only created and chowned /var/log
if it didn't exist yet, which can't occur because this gets created in
the initial phases of NixOS startup.
However with the recent move from manual preStart chown scripts to
systemd.tmpfiles.rules in 062efe018d571b1daa9c37b8c99eb39ad47d7342 (#59389),
this chown is suddenly running unconditionally at every system
activation, therefore triggering the above error.
So I'm glad @aanderse pushed for this, otherwise we wouldn't have found this bug :)
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg test couchdb

Ping @fpletz @timor


Custom pg_dump version

Hi,
I am thankfully using this docker image, however I run into an issue.
I use multiple postgres containers, and like to backup them using the postgresql_databases hook.
A new docker stack I use, uses postgres 16, however the pg_dump version in the borgmatic container seems to be 15.
I get this error during my backup:
pg_dump: error: aborting because of server version mismatch
pg_dump: detail: server version: 16.1; pg_dump version: 15.5

Any ideas how I can fix this?

Can you try the latest version please?


Verify code SHA hash before running it

Hi all,
Metaflow stores the METAFLOW_CODE_SHA environment variable on Step Functions but does not use it to check the downloaded code artifact from S3. This can lead to undesired remote code execution where multiple teams share a single Metaflow instance/bucket and have different compute clusters (which may have different IAM permissions per team). Although access to the bucket is secured via IAM, it would be safer for the init script to verify the file hash after downloading it.
To reproduce this issue, change the hash to any value and the flow runs without any errors. The Python docker image contains the sha1sum tool. To mitigate this, an additional check script could be executed in https://github.com/Netflix/metaflow/blob/master/metaflow/metaflow_environment.py
Best regards.

Closing this as sharing S3 buckets is not really required in a multi-tenant setup anymore with the latest versions, as each tenant can use his own S3 bucket and security is managed by the S3 policies.


Add Slim SEO to list of WordPress SEO plugins

@rilwis Thank you very much for your contribution 👍


fix(framework): added wallpaper xml

Fixes #437
Used this script gen-xml-files.sh from the bling repo. Had to fiddle a little with the script to get the right paths.
Added the xml files in /usr/share/gnome-background-properties and they are now selectable via gnome-settings
Maybe the framework_box.svg needs to be checked. it looks very bad. All others looked correct.

cc @storyaddict - do you have cycles to track down a nicer svg from Framework?

I'll see if I can create some sub-processes to get this done. ;)

I think I found the original here, they also a png variant. I could replace the svg one with the png one if you want?
https://community.frame.work/t/3-2-desktop-wallpapers/3533/7

Lemme see if I can dig something up.

It's Matt, Matt is sub-processes. lol. We're just multithreaded like that.

Yep, PNG is the way. This looks to be the best of the lot: https://static-community.frame.work/original/2X/3/35e24ff908d7bd41e6ca0865eda5a99f47c1e198.png
Let @storyaddict  know if this works. :)

Image looks crystal clear to me. Thanks @ctsdownloads ! @bobslept does that work for you?

i am testing it right now, expect a commit in a minute. Think it will work out!

@castrojo  Would you want me to set it as default wallpaper for framework? Or leave it up to the user to change it.


0.7.5 Duplicate Transfer-Data-Plane-Signaling Dependencies in edc-controlplane-base Module?

Discussed in https://github.com/eclipse-tractusx/tractusx-edc/discussions/1576

Originally posted by efiege September 23, 2024
During our review of the dependency tree for the edc-controlplane-postgresql-azure-vault module, we observed that both the following dependencies are being included:

org.eclipse.edc:transfer-data-plane-signaling:0.7.2
project :edc-extensions:transfer-dataplane-signaling

It appears that the version included in this repository is a patched version of org.eclipse.edc:transfer-data-plane-signaling:0.7.2, addressing this issue: https://github.com/eclipse-tractusx/tractusx-edc/pull/1534.
However, having both dependencies included might result in the registration of two DataPlaneSignalingFlowController instances within the DataFlowManager, one with the fix and one without. This could potentially cause the EDC to load the unpatched version, depending on how it resolves these extensions.
The unpatched core EDC version is referenced here:
https://github.com/eclipse-tractusx/tractusx-edc/blob/75d1526115bf3922c204aea4ff8434a1b37eb514/gradle/libs.versions.toml#L233
https://github.com/eclipse-tractusx/tractusx-edc/blob/75d1526115bf3922c204aea4ff8434a1b37eb514/edc-controlplane/edc-controlplane-base/build.gradle.kts#L70

@bmg13 could you check on this ?
Thanks

hey @wolf4ood good point, please assign it to me, will try to address it in the meantime

@wolf4ood this was merged. Can it be closed?


Plugin remap: unconditional remapping

Hi @lelegard ,
With the labelling support I miss this functionality:

-P remap --only-label 1 -n -u *=100

The idea is quite simple: remap to pid 100 any incomming packet. I suggest this syntax as I feel is more clear to implement it. However, if you prefer another one...

Hi @lelegard ,
If you will implement my request #291 about the patcher plugin (or the modification of current craft input) then this request is innecessary. The other plugin will have the option --pid and then this request can be discarded.
Please, consider the best option.
Regards.

Hi @lars18th

If you will implement my request #291 about the patcher plugin (or the modification of current craft input) then this request is innecessary. The other plugin will have the option --pid and then this request can be discarded.

I will go this way. I consequently close this one.


Horizontal Server List not working

Horizontal Server List stopped working after Ptb 237772 (21b7a7d) update
Discord channel: Canary
OS: Windows
Mod: BetterDiscord
Discord language: English

Looks like a class change. I was able to get it working again by replacing .app-3xd6d0 with .app-2CXKsg
#app-mount .app-2CXKsg .base-2jDfDU {

I don't really care about Canary updates. Use Stable.


(At least) GTDB fails to download

Description of the bug
I ran the test case with eukulele/gtdb but the download failed:
ERROR ~ Error executing process > 'NFCORE_METATDENOVO:METATDENOVO:SUB_EUKULELE:EUKULELE_DOWNLOAD ($meta.id)'

Caused by:
  Process `NFCORE_METATDENOVO:METATDENOVO:SUB_EUKULELE:EUKULELE_DOWNLOAD ($meta.id)` terminated with an error exit status (1)

Command executed:

  pushd eukulele

  EUKulele \
      download \
       \
      --database gtdb

  popd
  touch gtdb

  cat <<-END_VERSIONS > versions.yml
  "NFCORE_METATDENOVO:METATDENOVO:SUB_EUKULELE:EUKULELE_DOWNLOAD":
      eukulele: $(echo $(EUKulele --version 2>&1) | sed 's/Running EUKulele with command line arguments, as no valid configuration file was provided.//; s/The current EUKulele version is//g')
  END_VERSIONS

Command exit status:
  1

Command output:
  ~/dev/nf-core-metatdenovo/work/17/8445ecb2cd7a6068a6d58fe253433f/eukulele ~/dev/nf-core-metatdenovo/work/17/8445ecb2cd7a6068a6d58fe253433f
  Running EUKulele with command line arguments, as no valid configuration file was provided.
  Specified reference directory, reference FASTA, and protein map/taxonomy table not found. Using database in location: ./gtdb.
  Automatically downloading database gtdb . If you intended to use an existing database folder, be sure a reference FASTA, protein map, and taxonomy table are provided. Check the documentation for details.
  Specified reference database, gtdb is not supported.

Command error:
  Unable to find image 'quay.io/biocontainers/eukulele:2.0.3--pyh723bec7_0' locally
  2.0.3--pyh723bec7_0: Pulling from biocontainers/eukulele
  73349e34840e: Already exists
  acab339ca1e8: Already exists
  935c26139724: Pulling fs layer
  935c26139724: Verifying Checksum
  935c26139724: Download complete
  935c26139724: Pull complete
  Digest: sha256:7933d7d1a2a15a96aef32fd3c49edecb5a5850de0c344ff3920a06a135267578
  Status: Downloaded newer image for quay.io/biocontainers/eukulele:2.0.3--pyh723bec7_0
  ~/dev/nf-core-metatdenovo/work/17/8445ecb2cd7a6068a6d58fe253433f/eukulele ~/dev/nf-core-metatdenovo/work/17/8445ecb2cd7a6068a6d58fe253433f
  Running EUKulele with command line arguments, as no valid configuration file was provided.
  Specified reference directory, reference FASTA, and protein map/taxonomy table not found. Using database in location: ./gtdb.
  Automatically downloading database gtdb . If you intended to use an existing database folder, be sure a reference FASTA, protein map, and taxonomy table are provided. Check the documentation for details.
  Specified reference database, gtdb is not supported.

Work dir:
  /home/daluab/dev/nf-core-metatdenovo/work/17/8445ecb2cd7a6068a6d58fe253433f

Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line

 -- Check '.nextflow.log' file for details

A gtdb subdirectory was created in eukulele but it was empty.
Invoking EUKulele download --database gtdb from the terminal seems to work fine.
Command used and terminal output
# Without having a downloaded gtdb database:
nextflow run . -profile test,docker -resume --assembler rnaspades --eukulele_db gtdb --skip_eukulele false

Relevant files
No response
System information
No response

Could it be EUKulele old version? I can take a look

By changing the container, the error persists. The module is able to download the reference.pep.fa and taxonomy-table.txt but fails to download the protein table prot-map,json . I would try to download all the files outside the module with the same version to be sure nothing is wrong in the EUKulele version

I did just that and it worked fine: Download with Eukulele outside the workflow, then run the workflow with downloaded files.

I am trying to download another database (PhyloDB) through metatdenovo. if it not working then the issue is in our code

This issue can be closed as we don't have any module EUKULELE:DOWNLOAD. but the issue on downloading GTDB persist and it's reported in another issue #256

Just putting a comment here that I will be addressing this issue within EUKulele in a release in the next 2 weeks. In the meantime, there is a workaround for using the standalone EUKulele tool and attempting this download https://github.com/AlexanderLabWHOI/EUKulele/issues/58


[5.2] Allow pipe parameters to be passed as array

An extended way to define pipe with array.
Useful if you need to pass objects as parameters.
(new Pipeline)->send($post)
->through([
    [new Formatter, $request],
    [new Sender, 'json'],
    [new ResponseHandler, $log],
])
->then(...);

And, of course, middlewares can now be defined this way:
'api' => [
    [ThrottleRequests::class, config('security.throttle.period', 60), 1],
],

:-1: on this from me. If you want to customize this, should should probably bind that class to the ioc.

But the new way of middlewares definition looks very good for me.
And it may be difficult to bind it in IoC in case the parameters are variable in different controllers.

Well, I'm strongly against this PR. We have a container for good reason, and it needs to be properly used.

I agree the container can be used here.


Add Less Simple ISRU from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of juanml82, to add Less Simple ISRU to CKAN.
Please direct questions about this pull request to juanml82.
Mod details:
name = /mod/2378/Less%20Simple%20ISRU
author = juanml82
abstract = Realistic mining chains for mod fuels. Electrolysis, Sabatier and more
license = GPLv3
Homepage = https://forum.kerbalspaceprogram.com/index.php?/topic/192738-less-simple-isru-for-modded-fuels-electrolysis-sabatier-and-more/
description =
So, you’ve been there. Just using the stock engines don’t cut it anymore for you. You have a bunch of hydrogen powered engines, be them from Cryo Engines, SSTU, BDB or some other mod I don’t know or remember. Or you’re using LH2 powered nuclear thermal rockets. Or you love Nertea’s lithium powered engines from NFP. Or the few methalox engines available (I think only from a patch of NFLV).
This mod adds new resource chains for those extra fuels, without removing the original "ore to all" mechanic. Run electrolysis from water or hydrates to create hydrogen, mine spodumene to refine lithium and, if you use methalox engines, get carbox dioxide and water to run the sabatier process for refueling.
And it also integrates into scansat, mining expansion and more
ckan compat add 1.8

#rebuild


[TASK][MEDIUM] Refactor ConfigEntry to replace serverOnly with engineRequired

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before creating

[X] I have searched in the task list and found no similar tasks.

Mentor

[X] I have sufficient knowledge and experience of this task, and I volunteer to be the mentor of this task to guide contributors to complete the task.

Skill requirements

Basic knowledge on Scala Programing Language
High Level knowledge of Kyuubi architecture
Familiar with Kyuubi and each engine's configuration

Background and Goals
Kyuubi is mainly composed of two components: Server and Engine. Some configurations take effect on both Server and Engine, but some only take effect on Server or specific Engine.
The Server picks up configurations from kyuubi-defaults.conf and passes them to the command line during the launching engine process, including some sensitive data. To overcome it, we introduce a serverOnly flag on each configuration's definition.
Implementation steps
Replace the serverOnly flag with requiredByEngines(...) and requiredByAllEngines, so that we can only pass the required configurations to each engine.
Note: we should always bypass the unknown properties to the engine in case some user custom properties do not take effect.
Additional context
No response

I want to try this,  I hope to complete it within a week(Before Oct 22nd)

@biangjuang thanks, assigned.