🎯 Upcoming Milestones

Polar North Star
The best monetization platform for developers to get paid coding on their passions.

All-in-one funding & monetization platform
Supporting them and their upstreams from the first donation to IPO.
No ceiling & free to cherry pick monetization techniques.
We handle all boilerplate (billing, receipts, customer accounts) & headaches (sales tax, VAT - merchant of record) so developers can focus on building.

Milestone v1.1: Customizations (Link)
Support customizations of Polar integrations to fit developers design/brand. Main feat is building our own customizable checkout and diversifying from Stripe.

https://github.com/polarsource/polar/issues/3965
https://github.com/polarsource/polar/issues/3731

https://github.com/polarsource/polar/issues/3726
https://github.com/polarsource/polar/issues/4041
https://github.com/polarsource/polar/issues/3964
https://github.com/polarsource/polar/issues/3730

https://github.com/polarsource/polar/issues/3738
https://github.com/polarsource/polar/issues/3246

Milestone v1.2: Customer Management
Polar is happy to offer support to all buyers, but for a great & scalable experience for developers they need to be able to directly help their customers too.

https://github.com/polarsource/polar/issues/3734
https://github.com/polarsource/polar/issues/3735

Changing how we structure issues/feature requests/backlog. Closing this & future feature related issues to keep Issues focused on bugs or features we're actively & currently working on.
Discussions will be for feature requests.
We'll have a dedicated Repo & Project, e.g roadmap, using issues there for upcoming features etc. Transferring feature requests that we'll do into issues there and on the roadmap.


Clean up release generation

What changed?

Removed obsolete changelog workflow (now using goreleaser's changelog generation)
Made pre-release indication dependent on whether there is a --rc.X suffix
Changed triggering event to release: [published]

Why?
To make the release process simpler and more robust

How did you test it?
Created a fork of the repository and generated releases

Release notes
No

Documentation Changes
No

It did on my fork


[Field name or General]: update dependency on PhoneNumberCoreKit to latest

Is there an existing issue for this?

[X] I have searched the existing issues

Package/Plugin version
2.0.0
What you'd like to happen
phone_number 2.0.0 depends on PhoneNumberKit 3.5.8
My app uses flutter_libphonenumber and I'm presently unable to build with the latest version of either plugin because flutter_libphonenumber depends on PhoneNumberKit 3.5.10.
It would be great if phone_number was updated to depend on the latest PhoneNumberKit to avoid this conflict.
Thanks!
Alternatives you've considered
No response
Aditional information
No response

same problem

Have you completed the setup step?

Yes, our problem is that flutter_libphonenumber uses 3.5.10 instead of 3.5.8

It seems like that the update process failed for the most recent 2.0.0, although the podspec in the github master is working.
This is a direct screenshot from when you download the tar.gz from https://pub.dev/packages/phone_number/versions.
We can see that its depending on 3.5.8
It would be great if any of the members able to push the repository to pubdev be able to handle this, as it just seems like a push error @deandreamatias

If someone can create a release PR like this, I should be merge and create a tag with new version.

Update changelog
Update version on pubspec (I thinks that a fix is enoght 2.0.1)
Update (autogenerated files) dependencies lock files

I don't think its the same, as there is nothing that requires a diff in the git changelog, just in pubspec.
But nevertheless, I can still make the PR


Offline Map not showing

I am trying to use offline maps with osmdroid. I have created the tiles and stored in the osmdroid directory.
`map.setUseDataConnection(false);
    File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/osmdroid/");

    if (f.exists()) {
        File[] list = f.listFiles();
        if (list != null) {
            for (int i = 0; i < list.length; i++) {
                if (list[i].isDirectory()) {
                    continue;

                }
                String name = list[i].getName().toLowerCase();
                if (!name.contains(".")) {
                    continue; //skip files without an extension
                }
                name = name.substring(name.lastIndexOf(".") + 1);
                if (name.length() == 0) {
                    continue;
                }
                if (ArchiveFileFactory.isFileExtensionRegistered(name)) {
                    try {
                        OfflineTileProvider tileProvider = new OfflineTileProvider(new SimpleRegisterReceiver(context),
                                new File[]{list[i]});
                        String source = "";
                        IArchiveFile[] archives = tileProvider.getArchives();
                        if (archives.length > 0) {
                            Set<String> tileSources = archives[0].getTileSources();

                            if (!tileSources.isEmpty()) {
                                source = tileSources.iterator().next();
                                map.setTileSource(FileBasedTileSource.getSource(source));
                            } else {
                                map.setTileSource(TileSourceFactory.MAPNIK);
                                Toast.makeText(context,"error 1", Toast.LENGTH_SHORT).show();
                            }

                        } else {
                            map.setTileSource(TileSourceFactory.MAPNIK);
                            Toast.makeText(context,"error 2", Toast.LENGTH_SHORT).show();
                        }

                        Toast.makeText(context, "Using " + list[i].getAbsolutePath() + " " + source, Toast.LENGTH_SHORT).show();
                    } catch (Exception ex) {
                        ex.printStackTrace();

                    }
                }
            }
        }
    }`

The code i have used is as above and the toast message also appears using OSMPublicTransport but i can't see the tiles of the map.
The logcat is as below
10-16 17:14:33.134 10626-10626/np.com.techkunja.vtracker.vtracker_driverapp I/StorageUtils: /storage/emulated/0 is writable 10-16 17:14:33.135 10626-10626/np.com.techkunja.vtracker.vtracker_driverapp I/StorageUtils: /sdcard is writable 10-16 17:14:33.138 10626-10626/np.com.techkunja.vtracker.vtracker_driverapp I/StorageUtils: /mnt/sdcard is writable 10-16 17:14:33.194 10626-10626/np.com.techkunja.vtracker.vtracker_driverapp I/OsmDroid: Using tile source: Mapnik 10-16 17:14:33.229 10626-10626/np.com.techkunja.vtracker.vtracker_driverapp I/OsmDroid: sdcard state: mounted
the logcat gives using tile source of Mapnik still. What's the problem here

a few things to try.

did you step through the code to determine if the correct offline source is being selected?
unfortunately we don't have the ability to determine what zoom levels and bounds are available in each archive or tile source. You may want to consider setting the map center and zoom level based on some tiles that you know are in the archives you have

closing due to lack of feedback/response. reopen or comment back if this is still an issue


manual.py not allowing me to specify a TV Show

Hi everyone
First, great script.  This is going to make things much easier for me going forward with my media setup.  I am trying to tag my existing media, and I am having a small issue.  it will not let me use the -tv option.  I am trying to tag "The Flash (2014)" but for some reason it always thinks it is the upcoming Flash movie.
here is what I am running:
D:\GitHub\mp4_automator>manual.py -tv 279121 -a -nm -i "D:\Software Downloads\Movies\TV_Shows\The Flash (2014)\Season 1"
Any thoughts?
app

The guessing isn't 100% specific, you can manually specify the TVDB ID via the command line to override the inappropriate guess

that is what I was trying to do with the -tv 279121 portion of my command.  is that not in the correct place?
thanks
app


general overflowing support and minor fixes

Changed the overflowing detection to more general settings.
Fix some gpu tensor issues.

just pinging this; looks like unit tests are failing

How should I reproduce the error?

Every travis run starts from a blank environment and then follows the steps in .travis.yml to set up and run tests. Looks like it's raising several KeyError: 'overflowing_tokens' (see e.g. https://app.travis-ci.com/github/brain-score/language/jobs/599269707)

looks like the last failed test was unrelated, just merged main, let's see if that resolves it

Hi @chengxuz, sorry for the delay on this. @kvfairchild and I investigated and the remaining error is due to accessing secrets from a PR originating from a fork. We'll fix this in #170, then merge into this PR, so that we can hopefully merge by end-of-day.

@chengxuz it looks like there is one remaining error in the model wrapper implementation.


Is it unnecessary to resample the audio which is not 48k to 48k?

Hello,
Recently I found that librosa.load at line 236 of recipes/_common/no2/utils/finalize_lab.py does not refer config["sample_rate"] anymore after the commit of c52f603.  Is it unnecessary to resample the audio data to 48k when it is not 48k (eg. 44.1k)?

Thank you for your comment.  I understand.


SAK-42408 Admin Tools: UI improvements for the users tool

hey @fostersdesign , thanks for your comment, I've replaced all the messages and now it's using the new standards, thanks for that awesome contribution!

Thanks, @mpellicer, for changing to the Sakai banners!

You're welcome, it's an awesome work. All my team is aware of the switch project and will use the new banners in every PR.


intl.error_level must be 0

As seen in symfony/symfony#14430, if the intl.error_level option is set to a value other than 0, the Intl extension will return a warning or an error. Maybe we can add this as a requirement or a recommendation in the SymfonyRequirements.php file. What do you think?

Recommendation looks like better to me.

@dosten Can you make a PR?

@fabpot sure

@dosten Would you have time to make the PR?

Done, see #209


gnome-monitor-config: init at unstable-2023-09-26

Description of changes
Packaging https://github.com/jadahl/gnome-monitor-config . It allows to configure monitors in GNOME from the command line and scripts. I use it in https://github.com/alesya-h/zenbook-duo-2024-ux8406ma-linux/ , see https://discourse.nixos.org/t/asus-zenbook-duo-2024-ux8406ma-nixos/39792 .
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Added in https://github.com/NixOS/nixpkgs/pull/313993


Add --bulk-mode and --input-file-buffer-size options

Add --bulk-mode option which allows bulk partial update and bulk delete.
While input file contains large documents (several MB per doc), the loading speed will become extremely slow, this issue can be solved by increasing the buffer size of line-reader module, and the --input-file-buffer-size does the trick.

great additions to the tool!
Can you please split this into 2 pull requests?  I think the bufferSize addition would be fine on its own, however the bulk-mode option needs some tests to go with it.

OK, I've split them into #150 and #151.


QUESTION: Change PopoverTrigger to Input or CommandInput

I'm using Combobox, currently trigger is a button, i want replace trigger element with CommandInput or custom Input.
Moving CommandInput out of Command seem like doesn't work.
Expection:
My expectation is to have a component similar to Select, click on Input and enter and then there will be a suggestion option, it's similar to AutoComplete
import * as React from "react"
import { CaretSortIcon, CheckIcon } from "@radix-ui/react-icons"

import { cn } from "@/lib/utils"
import { Button } from "@/components/ui/button"
import {
  Command,
  CommandEmpty,
  CommandGroup,
  CommandInput,
  CommandItem,
} from "@/components/ui/command"
import {
  Popover,
  PopoverContent,
  PopoverTrigger,
} from "@/components/ui/popover"

const frameworks = [
  {
    value: "next.js",
    label: "Next.js",
  },
  {
    value: "sveltekit",
    label: "SvelteKit",
  },
  {
    value: "nuxt.js",
    label: "Nuxt.js",
  },
  {
    value: "remix",
    label: "Remix",
  },
  {
    value: "astro",
    label: "Astro",
  },
]

export function ComboboxDemo() {
  const [open, setOpen] = React.useState(false)
  const [value, setValue] = React.useState("")

  return (
    <Popover open={open} onOpenChange={setOpen}>
      {/* <PopoverTrigger asChild>
        <Button
          variant="outline"
          role="combobox"
          aria-expanded={open}
          className="w-[200px] justify-between"
        >
          {value
            ? frameworks.find((framework) => framework.value === value)?.label
            : "Select framework..."}
          <CaretSortIcon className="ml-2 h-4 w-4 shrink-0 opacity-50" />
        </Button> */}
        {/* Replace with Input or CommandInput */}
        <CommandInput placeholder="Search framework..." className="h-9" />
      </PopoverTrigger>
      <PopoverContent className="w-[200px] p-0">
        <Command>
          <CommandEmpty>No framework found.</CommandEmpty>
          <CommandGroup>
            {frameworks.map((framework) => (
              <CommandItem
                key={framework.value}
                onSelect={(currentValue) => {
                  setValue(currentValue === value ? "" : currentValue)
                  setOpen(false)
                }}
              >
                {framework.label}
                <CheckIcon
                  className={cn(
                    "ml-auto h-4 w-4",
                    value === framework.value ? "opacity-100" : "opacity-0"
                  )}
                />
              </CommandItem>
            ))}
          </CommandGroup>
        </Command>
      </PopoverContent>
    </Popover>
  )
}

Hey, you can find an example here 🤌 I hope it will helps you
https://www.armand-salle.fr/post/autocomplete-select-shadcn-ui

Hey, you can find an example here 🤌 I hope it will helps you
https://www.armand-salle.fr/post/autocomplete-select-shadcn-ui

Hi. This is awesome. Do you have example how to use it as a controlled component using the existing form component?

@armandsalle  thank you, it's useful

@armandsalle been searching for this everywhere. Thank you so much for saving me hours of work ahah

Hey, you can find an example here 🤌 I hope it will helps you
https://www.armand-salle.fr/post/autocomplete-select-shadcn-ui
Originally posted by @armandsalle in https://github.com/shadcn-ui/ui/issues/1069#issuecomment-1657198760

@datnmqti were you able to move CommandInput under PopoverTrigger while using popover for multiselect. If so can you please your code how you did that?

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

@zahidiqbalnbs FYI, I managed to use a normal Input outside a Popover and "bind" it to the Command & its CommandInput which lives inside the Popover.
The key is that the Input is inside a PopoverAnchor (not a PopoverTrigger) and that it relays all onKeyDown events, as well as its input to the Command & CommandInput (which is hidden in my case).
The onKeyDown & value relays are necessary for up/down navigation & filters of the Command to work.
I needed to wrap the Command inside a Popover b/c @armandsalle solution outlined above was giving me problems when being used inside a Sheet or Dialog. E.g. pressing Esc with the command open & focused, caused the whole dialog to close instead of just the command. Those issues seem to be solved by wrapping the Command inside a Popover.
My solution looks something like this:
type Option = Record<'value' | 'label', string> & Record<string, string>;

type AutocompleteProps = {
  options: Option[];
  openSuggestionsAtInputLength?: number;
};

export const Autocomplete: React.FC<AutocompleteProps> = ({ options, openSuggestionsAtInputLength = 3 }) => {
  const [input, setInput] = useState('');
  const cmdInputRef = useRef<HTMLInputElement>(null);

  const [popoverIsOpen, setPopoverIsOpen] = useState(false);

  const onInputValueChange = (e: ChangeEvent<HTMLInputElement>): void => {
    const value = e.target.value;
    setInput(value);
    if (!popoverIsOpen && value.length >= openSuggestionsAtInputLength) {
      setPopoverIsOpen(true);
    }
  };

  /**
   * Pass all keydown events from the input to the `CommandInput` to provide navigation using up/down arrow keys etc.
   */
  const relayInputKeyDownToCommand = (e: React.KeyboardEvent<HTMLInputElement>): void => {
    const { key, code, bubbles } = e;
    cmdInputRef.current?.dispatchEvent(new KeyboardEvent('keydown', { key, code, bubbles }));

    if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
      e.preventDefault();
    }
  };

  return (
    <>
      <Popover open={popoverIsOpen} onOpenChange={setPopoverIsOpen}>
        <PopoverAnchor>
          <Input onKeyDown={relayInputKeyDownToCommand} value={input} onChange={onInputValueChange} />
        </PopoverAnchor>

        <PopoverContent onOpenAutoFocus={e => e.preventDefault()}>
          <Command>
            <CommandInput ref={cmdInputRef} value={input} wrapperClassName={tw`hidden`} />
            <CommandList>
              <CommandEmpty>{`No suggetsions...`}</CommandEmpty>
              <CommandGroup>
                {options.map(x => (
                  <CommandItem
                    key={x.value}
                    onSelect={() => { /* TODO */ }}
                  >
                    {x.label}
                  </CommandItem>
                ))}
              </CommandGroup>
            </CommandList>
          </Command>
        </PopoverContent>
      </Popover>
    </>
  );
};

FYI, this is just a POC implementation which seems to be working just fine for my use cases but it might need some more adjustments down the road.
Also, @zahidiqbalnbs, I'm not sure whether this actually matches your requirements or not. E.g. you mentioned something about multi select which is no use case for me.


Accent positioning in Type1 seac glyphs

In display/canvas.js the accent offsets must be multiplied by fontSize to make the offsets large enough. This affects both Type1 and CFF fonts. Another problem is in core/type1_parser.js when the Type1 command seac is handled. There is an error in the Adobe Type1 spec. See chapter 6 in Type1 Font Format Supplement, which provides an errata: The arguments of seac specify the offset of the left side bearing (LSB) points, not the offset of origins. This can be fixed in core/type1_parser.js by adding the difference of the LSB values.
I didn't add a new reference test case because the following existing cases will do the job and now they are finally rendered correctly:

issue818
issue4573
issue4801
bug1308536
glyph_accent

Fixes #4130
Fixes #12253
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1654296
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=845409
See also:
Type1 Spec
Type1 Font Format Supplement

/botio-linux preview

/botio test

/botio makeref

Nice find; thanks!


release: 5.0.3

Release  Changes

refactor: remove core dependency from common and ui packages by @enesozturk in https://github.com/WalletConnect/web3modal/pull/2430
refactor: move the w3m components to separate package by @enesozturk in https://github.com/WalletConnect/web3modal/pull/2432
chore: add rn samples to apple domain file by @ignaciosantise in https://github.com/WalletConnect/web3modal/pull/2438
fix: external connectors by @tomiir in https://github.com/WalletConnect/web3modal/pull/2437
fix: gallery build issues by @tomiir in https://github.com/WalletConnect/web3modal/pull/2450
fix: export onramp components and remove from scaffold by @enesozturk in https://github.com/WalletConnect/web3modal/pull/2448
fix: ethers5 CB Id by @tomiir in https://github.com/WalletConnect/web3modal/pull/2445
chore: update coinbase sdk to 4.0.3 by @tomiir in https://github.com/WalletConnect/web3modal/pull/2440
chore: bump to v5.0.3 by @tomiir in https://github.com/WalletConnect/web3modal/pull/2451

Waiting on #2455 and we'd be ready 🚀


Add ability to add MessageConverters to function catalog

See https://github.com/spring-cloud/spring-cloud-stream/issues/2202


3.0 bug: Import/Export CSV dialog bottom buttons have unclickable spots

In the dialog window, the bottom buttons can't be clicked. Reported to not be clickable at all, but I could click the top of them.
There seems to be an invisible Control covering up about half of the buttons' area and capturing the input. Likely have filter set to MOUSE_FILTER_PASS, as they show the mouseover stylebox but can't get pressed.
I can not find that Control. Pretty sure it was covering up the bottom buttons specifically. If YOU are reading this and had this issue, please tell the details here. Fix suggestions welcome.

A great addon, but I can't continue because I can't click the buttons (ect Comfrim, Convert,...) at the bottom (win and mac on godot 3.51)

It works when I change the confrim buttons to the top


Guest access should prompt for a displayname

So the guest has a sensible name in the app

This has been added to the guest OIDC Provider:

@ajbura please can you tidy up the CSS/layout?

@hughns https://github.com/hughns/anon-oidc/pull/3

It now looks like this:


KAFKA-6538: Changes to enhance  ByteStore exceptions thrown from RocksDBStore with more human readable info

https://issues.apache.org/jira/browse/KAFKA-6538
Enhanced exceptions thrown from RocksDBStore with corresponding information for which key/value the operation failed in the wrapping stores (KeyValueStore, WindowedStored, and SessionStore).
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mjsax, Could you please review code changes and let me know if any changes needed.

retest this please

Thanks @guozhangwang! Doing a follow up PR seems reasonable to me. We should also check, if we can remove the generics from RocksDBSessionStore if it's typed <Byte,byte[]> only anyway.

Ack. Will leave to @mjsax to merge.

@mjsax ,

@jadireddi Why did you not add it to the MeteredXXX stores as suggested by Guozhang?

@mjsax , Added  error handling  in  MeteredSessionStore , MeteredWindowsStore  .
As MeteredKeyValueStore and MeteredKeyValueBytesStore using InnerMeteredKeyValueStore to put/get/delete operations. Made changes in InnerMeteredKeyValueStore. Can you please let me know if i am missing something.

@jadireddi Thanks for the explanation.

Merged to trunk and cherry-picked to 2.0.
Thanks for the patch @jadireddi!

I closed KAFKA-6538 and created https://issues.apache.org/jira/browse/KAFKA-7015 to track the RecordCollectorImpl issue -- this makes it easier to assign fixes to different versions.


Fixed logo link in README.md

Hi @heedrox!
I noticed that dianait removed her fork, resulting in her logo not being displayed anymore.
To ensure we don't lose that valuable contribution, I took the liberty of fixing the link.

Thanks ❤❤❤


[Bug]: RCTMGL Images - SDF Icon differences from iOS to Android

Mapbox Implementation
Mapbox
Mapbox Version
default
Platform
iOS, Android
@rnmapbox/maps version
10.0.6
Standalone component to reproduce
//The code here is what's relevant to replication, drop in a map component.
<MapboxGL.Images
  images={{
    shop: {
      //Using url here is accepted on iOS, but will cause a crash on Android. Using uri loses the sdf aspect.
      url: 'https://docs.mapbox.com/help/data/shop-15.png',
      scale: 1.0,
      sdf: true,
    }
  }}
  onImageMissing={(e) => { console.log("onimagemissing", e) }}
/>

<MapboxGL.ShapeSource
  id={`pinMarkerShapeSource`}
  shape={{
    type: 'FeatureCollection',
    features: [
      {
        type: 'Feature',
        id: `pin-collection`,
        properties: {
          icon: 'shop',
          color: 'red',
        },
        geometry: {
          type: 'Point',
          coordinates: [-77.049916, 38.914451],
        },
      },
    ],
  }}
  hitbox={{ width: 5, height: 5 }}
  cluster={false}
>
  <MapboxGL.SymbolLayer
    id={`pinMarkerSymbolLayer`}
    style={{
      iconImage: ['get', 'icon'],
      iconColor: ['get', 'color'],
      textField: ['get', 'name'],
      iconHaloColor: 'white',
      iconHaloWidth: 0.85,
      iconTextFit: 'both',
      iconAllowOverlap: true,
      iconSize: 0.4
    }}
  />
</MapboxGL.ShapeSource>

Observed behavior and steps to reproduce
After implementing SDF Icons with MapboxGL.Images, differences were noticed between iOS and Android. Android was not working with the same structure of data as iOS and initially, and was crashing due to the use of url. Noting the structure I used is accepted in the TypeScript code as ImageEntryData.
 ERROR  Your app just crashed. See the error below.
java.lang.RuntimeException: An error occurred while executing doInBackground()
  android.os.AsyncTask$4.done(AsyncTask.java:399)
  java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
  java.util.concurrent.FutureTask.setException(FutureTask.java:252)
  java.util.concurrent.FutureTask.run(FutureTask.java:271)
  android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  java.lang.Thread.run(Thread.java:919)
Caused by java.lang.NullPointerException: uri must not be null

Going to look at this file appears to show a direct extraction of the uri token which leads me to believe the Android code is expecting something more along the lines of the ImageURISource structure.
Attempting to use uri resulted in a map that displayed the SDF icons as their base image, the black and fuzzy pngs that previewers will show.
iOS using ImageEntryData:

And Android with uri instead of url, but the rest of the structure remaining the same:

Expected behavior
No response
Notes / preliminary analysis
Looking around, it appears that the Swift code called to get remote images looks for ImageEntryData values to support sdf files: https://github.com/rnmapbox/maps/blob/0ee5c3ff34a1eb4d30baeeef2456c5776483cd2b/ios/RCTMGL-v10/RCTMGLUtils.swift#L32-L39
While the Android fetch code appears to pass it around to a background task that I don't see directly referencing the same structure data, although I'm not entirely sure of the intended path here. The only area I directly see the sdf value being used is in the addBitmapImage function which only seems to only have sdf non-false if UpdateImage gets sdf true passed in, I'm guessing this may not be happening as expected - or I'm missing the obvious.
Additional links and references
No response

Can confirm the root cause, for testing purposes changing this to true: https://github.com/rnmapbox/maps/blob/63b95c86b269ebeebec4c49bfd916490da17374e/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt#L37
Will produce this result:

Obviously not the fix, but does indicate the value isn't being passed in, presumably from the lack of:
https://github.com/rnmapbox/maps/blob/63b95c86b269ebeebec4c49bfd916490da17374e/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/ImageEntry.java#L3-L25

@sm-lgv yes your analysis is right we haven't passed sdf, stretchX, etc around when downloading simple images.
#2891 should address this

Full component I've used to repro:
import React from 'react';
import MapboxGL from '@rnmapbox/maps';
import { View } from 'react-native';

export default function BugReportExample() {
  //The code here is what's relevant to replication, drop in a map component.
  return (
    <View style={{ flex: 1 }}>
      <MapboxGL.MapView style={{ flex: 1 }}>
        <MapboxGL.Camera
          centerCoordinate={[-77.049916, 38.914451]}
          zoomLevel={18}
        />

        <MapboxGL.Images
          images={{
            shop: {
              //Using url here is accepted on iOS, but will cause a crash on Android. Using uri loses the sdf aspect.

              url: 'https://docs.mapbox.com/help/data/shop-15.png',
              scale: 1.0,
              sdf: true,
            },
          }}
          onImageMissing={(e) => {
            console.log('onimagemissing', e);
          }}
        />

        <MapboxGL.ShapeSource
          id={'pinMarkerShapeSource'}
          shape={{
            type: 'FeatureCollection',
            features: [
              {
                type: 'Feature',
                id: 'pin-collection',
                properties: {
                  icon: 'shop',
                  color: 'red',
                },
                geometry: {
                  type: 'Point',
                  coordinates: [-77.049916, 38.914451],
                },
              },
            ],
          }}
          hitbox={{ width: 5, height: 5 }}
          cluster={false}
        >
          <MapboxGL.SymbolLayer
            id={'pinMarkerSymbolLayer'}
            style={{
              iconImage: ['get', 'icon'],
              iconColor: ['get', 'color'],
              textField: ['get', 'name'],
              iconHaloColor: 'white',
              iconHaloWidth: 0.85,
              iconTextFit: 'both',
              iconAllowOverlap: true,
              iconSize: 0.4,
            }}
          />
        </MapboxGL.ShapeSource>
      </MapboxGL.MapView>
    </View>
  );
}

@sm-lgv yes your analysis is right we haven't passed sdf, stretchX, etc around when downloading simple images. #2891 should address this

Thank you for the help, apologies as I don't know any Java so I was working pretty slowly through the issue today haha. Much appreciated.


Bump Allocator

Need one. Sketch:

[x]  Track allocated blocks and sizes. Max count is roughly 50 on a 64 bit system with >1kB min block size.
[x]  Prevent fragmentation. Perhaps by tracking the index of earlier block with largest amount of free space?
[x]  Allow one thing to be in squishy/resizable phase. It begins at the start of a block.
[x]  Everything else grows down.

[x] Actually use mmap instead of malloc?

Minimal Implementation:

[x] Use malloc(). Future work: Benchmark this vs using memory pages.
[x] Only allow allocations. Future work: 1 single array with resizing.
[x] When an allocation doesn't fit in a block, skip to the next one and never look back.

Just call it FildeshArena I guess. Let's get this thing implemented minimally:

[ ] Use malloc(). Future work: Benchmark this vs using memory pages.
[ ] Only allow allocations. Future work: 1 single array with resizing.
[ ] When an allocation doesn't fit in a block, skip to the next one and never look back.

I haven't prioritized improving this bump allocator since v0.1.3, where it was initially introduced.
See the crossed out items in this issue's description for ways it could be improved. idk if they would be good improvements at this point.


Duplicate short parameter "-a"

There is a duplication of the short parameter "-a" for "--account" and "--algo". After the update today all my certificate requests failed with "Unknown parameter detected: rsa".
We should remove the short parameter "-a" for account, so all software that uses your script (ie. puppet modules) will continue to work.

Thanks for reporting this! I removed the short option for --account.

Thanks!


Feature: refactor quick panel for (mostly) static options

This  PR adds two reusable mixins that replace much repetitive and sometimes inconsistent code.
Hopefully this way the commands has less cruft and easier to read.
In  this refactor I only touched panels with "static options". The next step would be to replace the remaining panels that prompt for branch/remote. By default most of the updated commands run in a synchronous manner (in the current thread), since the panel options are available immediately.

This looks really great.

Look great. Thanks.

It seems that git: log current file and git: graph current file are broken.

@randy3k thanks! Silly mistake with loop local variables. I fixuped the specific GsLogCommand commit, hence had to force push all the last 5 ones.

Great, it fixes it.


Make influx ui and api unroutable by default

I've deployed deis to production and to my surprise influx ui and api is exposed publicly by default.. I'd suggest to make it unroutable by default, and allowing to make it routable by setting router.deis.io/routable: "true".
Secure by default, deis! :)

The default configuration of influx and grafana is not meant for production (much like the rest of the workflow install is not targeted for production environments). I would recommend that if you are wanting to monitor a production install of workflow to use an off cluster grafana and influx setup and have the telegraf instances push data to it instead. This will be a more robust setup than what is given with the default configuration.
See - https://github.com/deis/monitor/blob/master/charts/monitor/values.yaml#L30

For reference, the second request is already available as the annotation: https://github.com/deis/monitor/blob/master/charts/monitor/charts/grafana/templates/monitor-grafana-svc.yaml#L9
However we want to keep the heads a instance routable by default. Is there a concern about the instance being publicly available? It is authed by default, and we can fix up #171.

Grafana is fine to be routable by default as long as it's authenticated as doesn't allow sign-ups
Even influx and grafana isn't yet recommended to run in production, I think making them secure by default would be a nice small step to make them so.

k so let's close this in favour of #171 and get that fixed up.


Expose the "mode" hotspots was added to the blockchain with

With light hotspots, a hotspots can be added to the chain in light, full, or nonconsensual mode. Expose the mode in the hotspot json

ETL side: https://github.com/helium/blockchain-etl/pull/176


DownstreamConnectionTermination (DC) response flag not set for gRPC

The DC response flag signifies that the downstream disconnected or cancelled the connection or request and is very useful for understanding what happened to certain requests via access logs.
It's currently set with this logic:
  // A downstream disconnect can be identified for HTTP requests when the upstream returns with a 0
  // response code and when no other response flags are set.
  if (!stream_info_.hasAnyResponseFlag() && !stream_info_.responseCode()) {
    stream_info_.setResponseFlag(StreamInfo::ResponseFlag::DownstreamConnectionTermination);
  }

The problem for gRPC is that we may have seen the 200 HTTP response code already, but a cancellation can happen later while receiving the body/trailers.
Proposal: update that logic to add the flag for gRPC requests unless a gRPC status was seen.
Getting into the details, would it make sense to add a isGrpc() and grpcCode() to StreamInfo? ActiveStream would also need to look for grpc-status in the trailers to set it into the stream info.

The problem for gRPC is that we may have seen the 200 HTTP response code already, but a cancellation can happen later while receiving the body/trailers.

I think this is the same problem for HTTP though, right? So it seems like potentially this is a larger issue in which downstream disconnect needs to be tracked in a more explicit way?


Homeserver resource limiting error codes

Documentation: https://docs.google.com/document/d/1_CgwkfLznU56fwLUFZXFnKivzVUPjjNsTO0DpCB9ncM/edit?usp=sharing
Encompasses #1470 (since M_SOFT_LIMIT_EXCEEDED covers M_MAU_LIMIT_EXCEEDED)

How does M_SOFT_LIMIT_EXCEEDED cover M_MAU_LIMIT_EXCEEDED? Was the MAU error replaced?
It'd be nice to have the use case for having two different errors documented. A client doesn't appear to have instructions on what to do when a subset of users are disallowed versus all of them - it seems like it should only care if the requesting user is limited for some reason.

How does M_SOFT_LIMIT_EXCEEDED cover M_MAU_LIMIT_EXCEEDED?  Was the MAU error replaced?Yes
It seems like it should only care if the requesting user is limited for some reason. I'd see it as more for the users benefit - they know they can't access the service but that the rest of the service is not down.
If it is not much use from a client perspective - then I'm not overly attached to it

I think a single error code would be okay, given the user would (hopefully) be made aware of what's going on through other channels, such as the server notices room. Would love to hear from some client authors though, like @KitsuneRal and @mujx, as well as the wider client dev community.

I think this has been implemented without ever having completed review, or indeed ever being written up into a coherent document :angry:
I guess it needs speccing now

Merged via https://github.com/matrix-org/matrix-doc/pull/1874


Error 500 due to template

In my project I have 500 error on group change page (ex. "/admin/auth/group/1/") due to template "/templates/loginas/change_form.html". I don't know why, workaround: not use pip, clone sources in project app directory, remove all templates and use this app.
I use Python 3.4, Django 1.7.

This isn't an issue anymore.


Get reset time with a function

Would love to see ratelimit.getRemaining also return the reset time (like limit does) or a dedicated ratelimit.getReset function. The issue I am having is that .limit always adds 1 to the limit even if { rate: 0 } is set. So there is no way to retrieve the time at which the limit will be reset without triggering a use.

Hi @someguy9,
I think having a getReset method makes sense. I will work on adding it.
Using .limit with rate: 0 shouldn't have reduced the rate. Which rate limiting algorithm are you using? That should be fixed aswell.

I looked into adding reset to the result of getRemaining [here](feat: add reset field to getRemaining)feat: add reset field to getRemaining.
Here is the planned getRemaining method:
public getRemaining = async (identifier: string): Promise<{
  remaining: number;
  reset: number;
}> => {

It is backwards incompatible but I think it's a simple change. I will discuss it with the team.
I didn't wan't to make a seperate getReset method because it would need to make similar requests to redis as getRemaining. reset values of fixedWindow/slidingWindow algorithms can be calculated without calling redis but I feel like that reset information is not very valueable without remaining field

Hi @someguy9,
we released v2.0.0 which includes this change.


New Testimonial for Eddie Jaoude

Name
eddiejaoude
Title
G.O.A.T of Open Source
Description
The Open Source Guru, is none other than Eddie.  If you are a beginner and stepping into Open Source, just join this community and you will never be missing out.

Thank you Krish 👍

Thank you Krish 👍

My pleasure. Huge thanks to you for your incredible love towards Open Source 💖


Turn on event tracking integration testing

Describe the bug
We turned off event tracking integration tests, because of non-deterministic behavior leading to flakey tests. We should set up the tests so that they confirm event tracking is working properly and handle the fact that sometimes different events are fired randomly.

@aranke found that tracking tests are commented out because of this issue.
#5527 refactors the tracking, it might be worth looking into reopen this one or write new tracking tests


[AutoPR] recoveryservicessiterecovery/resource-manager

Created to accumulate context: recoveryservicessiterecovery/resource-manager

Build output:

dist/com.microsoft.azure.recoveryservicessiterecovery.v2018_01_10/azure-mgmt-recoveryservices-1.0.0-beta-sources.jar
dist/com.microsoft.azure.recoveryservicessiterecovery.v2018_01_10/azure-mgmt-recoveryservices-1.0.0-beta-javadoc.jar
dist/com.microsoft.azure.recoveryservicessiterecovery.v2018_01_10/azure-mgmt-recoveryservices-1.0.0-beta.pom
dist/com.microsoft.azure.recoveryservicessiterecovery.v2018_01_10/azure-mgmt-recoveryservices-1.0.0-beta.jar

Closing PRs that have been open for more than 1 month.


Output depends on order in a sum

Code Sample
import xarray as xr

a = xr.DataArray([[1, 2], [3, 4], [5, 6]], dims=["dim1", "dim2"])
print(a)

print(a + a[0, :])  # returns the result I would expect
print(a[0, :] + a)  # retruns the transposed result

Problem description
When two arrays are added with broadcasting, the result depends on the order how they are added. Technically there is nothing wrong about it as long as you access the data only via the dimension names. However, I still think this behavior is somehow confusing and unnecessarily breaks the analogy to numpy.
 It's true that it's not commutative (a + b differs from b + a)  but I think it's about the best we an do in this case.
Do you have any suggested alternatives? In principle we could sort dimension names, but consider cases like ('y',) + ('x', 'z'). Should we insert the dimension 'y' in the middle, so the result is ('x', 'y', 'z')? What about ('y',') + ('z', 'x') or even ('z', 'x') + ('z', 'x') -- would we sort the existing dimensions?
I think the most important features of our rule for combining different dimension names are that (1) it's a clear generalization of the behavior for matching dimensions and (2) it's simple and easily understood.

Thanks for the reply!
Wouldn't my example in your notation be more something like:
('x', 'y') + ('y',) results in a ('x', 'y') array while
('y',) + ('x', 'y') results in a ('y', 'x') array
In such cases I would suggest to always keep the order of dimensions of the array which is not broadcasted.

What about cases like ('x', 'y') + ('y', 'z') vs ('y', 'z') + ('x', 'y') where both arrays are broadcast?

Ah ok. I did not think about such cases and did not really understand your previous post because I did not know such additions were even possible. Coming from numpy I assumed you could not do such things but of course if dimensions are labeled such additions become possible.
Maybe it would be a good solution to internally sort the arrays according to the number of dimensions in decreasing order before they are added in the same way as they are added now. Arrays with the same number of dimensions would stay in the order as they are. For example:
('y',) + ('x',) results in ('y', 'x') (the order of arrays before summation is not changed because they have an equal number of dimensions)
('y',) + ('x', 'y') is sorted internally according to the number of dimensions. Then ('x', 'y') + ('y',) is calculated and results in ('x', 'y') and gives the same result es the sum of equivalent numpy arrays would.
for ('x', 'y') + ('y', 'z') nothing would change by sorting because they both have the same number of dimensions.
('z',) + ('x', 'y') would be sorted to ('x', 'y') + ('z',) and result in ('x', 'y', 'z')

I haven't proved it, but I think one of advantage of current rule is that it is associative. That is, a + (b + c) has the same dimension order as (a + b) + c. That's definitely not true if we sort arrays by the number of dimensions first. For example, consider the dimensions resulting from ('y',) + ('x',) + ('x', 'y') and ('x', 'y') + ('y',) + ('x',).

I still think its unfortunate that the behavior is different compared to numpy but probably you are right and the current solution makes most sense. Thanks!


Digital Terminal duplication bug

Reproduction steps:
-have a system with a terminal and a disc drive
-put in one stack of 64 items into the terminal
-put in 10 more of the same item, one by one
-you should now see 2 stacks of 64 among the single-stacks
-taking one 64-stack out will create another one, this will repeat for every single 1-stack except the last one
https://user-images.githubusercontent.com/49848633/173832982-ac8250e5-97f0-4ac4-be1a-39e5f687116b.mp4

A similar effect can be achieved by putting one 64-stack into the terminal and then two or more 1-stacks. Taking out the 64-stack will duplicate one of the 1-stacks until it reaches 64 in a similar fashion as above.

Fixed.


Possibly redundant parameter in postgres_protocol_handler

As provided in the code review discussion in #856 by @seojungmin , bind_parameters in src/network/postgres_protocol_handler.cpp does not seem to be used. Is there any reason for keeping this in the code?

@saatviks I saw some of your commits in the src/network/postgres_protocol_handler.cpp. Has this been resolved? If not, can you work on this or add some more details here so it can be assigned to someone.

@seojungmin had mentioned the following in one of the code review comments - "I also wonder why we have bind_parameters from the first place. This is not used in the code. @ChTimTsubasa can you verify this?"
I'm going ahead and assigning this to @ChTimTsubasa following the above comment - Let me know if any further changes are needed.

Thank you @saatviks!


[Fix] Event Emitter subscription shifted to remove().

This issue is fixed in version 1.0.2 which is released today.
Please update to the latest version.


♻ Meta - get rid of duplicate meta descriptions

Cc: @adamcogan @SSWConsulting/sswmarketing @JackDevAU @bradystroud

According to SEMrush, there are 3370 rules with duplicate meta descriptions (pretty much all of them).
This isn't great as it cannibalises our keywords.

Tasks
### Tasks
- [ ] Add ability to set meta description per rule
- [ ] Add ability for this to be set by AI when rule is first committed (or add a linter to prevent a PR from being merged when this is blank)
- [ ] Backfill all old rules with good descriptions based off the rule content (tip: use AI to help speed this up)

As per my corridor conversation with @wicksipedia, we should add 2 new "metadata" fields to a rule. For the Title and Description. Then running ai over to find good descriptions for them


Feature Request- Deinterlace Video

I propose a feature to detect if a video is interlaced, and if so, convert it to progressive. Ability is available with open source tools and just needs a GUI.

The tool Mediainfo can be set to "Text" and report if a video is interlaced or progressive. OR Maybe AVISynth can do it.

Then use a tool like AVISynth to deinterlace. Or FFMPERG or whatever.

Hi my friend, this is a very good request, I will definitely work on it.


Consider Making Range<T> abstract

I feel weird with the current implementation of Partition(). What I think I should be doing is having an abstract Range<T> where all of the current work is in the base type, and then I have Partition() as abstract. That would be implemented in IntegralRange<T> and FloatingRange<T>. I could have two static Create() methods where T is further constrained by the two number interfaces, though I'm not sure I can do that.

Or, create a IRange<T> where T : INumber<T> interface with members that have default implementations. That way I can keep derivations as struct types.

OK, I've tried a bunch of things, and this just isn't going to work very well. So I'm closing the issue.


Child order desync with relative instances

As mentioned here https://github.com/nxt-dev/nxt_editor/discussions/184, child order seems to break and not properly propagate through relative instances.
The provided example is setup like this:

The child order of /rig_components/_component is ['init', 'build'].
/rig_components/limb then instnaces that node via ../_component
/rig_components/limb/build and its children are localized and have some edits
Relative instances of /rig_components/limb (eg ../limb ) get the incorrect child order of ['build', 'init'].

This issue only seems to arise when /rig_components/limb is instanced by its siblings.
BrokenChildOrder.zip

A fix for this is going to dev tomorrow, pending unittests.

Unittests have uncovered deeper issues...


1.8.3 release in the install by binary

Updated the docs for the install by binary to download the 1.8.3 release

Codecov Report

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

@@            Coverage Diff            @@
##             master    #7332   +/-   ##
=========================================
  Coverage          ?   41.23%
=========================================
  Files             ?      466
  Lines             ?    63153
  Branches          ?        0
=========================================
  Hits              ?    26039
  Misses            ?    33709
  Partials          ?     3405

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 17fa227...ba312ee. Read the comment docs.


[TAN-0084] Apply coupon code automatically if weather is bad

Requirements:

[x] Create a cart rule that applies 20% discount to all products in cart using coupon code 'BADWEATHER' (1 use per customer)
[x] Use weather/temperature code to save temperature per registered users only [customer_id => customer_ip/temperature]
[x] Use the flag table to store that data
[x] Update flag entry every time the user logs in using the queue
[x] Update flag entry via cron job customizable from the backend, set default time to every hour (only for logged-in users)
[x] Create customization to apply cart rule for temperature range
[x] Update flag entry via CLI
[ ] Show banner at the top of the page whenever the coupon link can be applied (meeting conditions based on temp range)
[ ] Apply coupon code automatically as 'bad weather' limit to 50 coupons. The user has the option to open a link to apply it.
[ ] User cannot apply coupon code manually, if applied, an event should be dispatched and an observer should verify the weather is indeed in the set range, but also has to check if code was applied previously for that user
[ ] Add test unit

Backend configuration:

CLI

Queue message
"[{\"customer_id\":\"1\",\"customer_ip\":\"<IP_ADDRESS>\"}]"
Flag table
+---------+-----------------------+---------------+
| flag_id | flag_code             | flag_data     |
+---------+-----------------------+---------------+
|      11 | 1_remote_address      | "<IP_ADDRESS>" |
|      12 | 1_weather_temperature | 23.1          |
+---------+-----------------------+---------------+


fix: csp false in rc5 removes custom csp header

Reproduction Link
Build: https://github.com/maevsi/maevsi/actions/runs/7138462986/job/19440077662?pr=1475
PR: https://github.com/maevsi/maevsi/pull/1475
Steps to reproduce
Set content-security-policy header using appendHeader in a server middleware and set contentSecurityPolicy: false for this module.
What is Expected?
Up until rc4 the csp set in the server middleware was applied and this module's default csp was not used.
What is actually happening?
There is no csp header at all in rc5. Seems like the existing header is removed when set to false?

@vejja
What are your thoughts on that? I think we recently had a PR where we were changing the boolean values for headers

@dargmuesli you're right.
Setting header.contentSecurityPolicy: false now removes the header. Semantically we interpret it as 'do not send a CSP header'.
This is also the case for all other security headers controlled by Nuxt Security (e.g. Strict-Transport-Security, etc.).
However we could change this. It could mean 'do not set a CSP header'.

I'm about to patch this.
Just for clarity, the behavior is specific to false, ie:

If option is false, we do not remove user-defined headers.
If option is any other value, we overwrite user-defined headers.

This would revert to rc-4 behaviour.
This sounds logical because if you use Nuxt Security to set some security header value, there should be no reason to redefine them elsewhere.
@dargmuesli @Baroshem : do you agree this is the intended behavior ?

Yes, I understand the module as a helper to set values. In the best case it should be possible to disable single features of modules, e.g. to be able to use a custom implementation.

Guys I am not sure about this change.
CSP is set by default when NuxtSecurity is added. I would expect when setting a csp to false that this csp wont be included at all.
Like with middleware (i.e. rateLimiter). If I dont want it I just set it to false and this middleware wont be enabled.
I think that the behavior in rc.4 was actually a bug and with rc.5 it is now correct.

Like with middleware (i.e. rateLimiter). If I dont want it I just set it to false and this middleware wont be enabled.

Right, but should it just not be enabled or should any such header be removed even if it has another source?

But honestly, I am not sure if I understand your use case @dargmuesli. Why setting header in server middleware if you can just do it in the nuxt security?

Because I cannot! 😂 I'm waiting for runtime support (https://github.com/Baroshem/nuxt-security/pull/233, https://github.com/Baroshem/nuxt-security/pull/298).

I do agree with @dargmuesli
What I am doing in rc.5 is aggressively removing the 'Content-Security-Policy' header from the response with removeResponseHeader just before the response is sent.
Maybe the user wants to use RateLimiter but not CSP and prefers to set its CSP headers manually for whatever reason.

Ahhh I see. Now it makes sense for me. Thanks for clarification guys!
Then you have a green light from me :)


[WIP][CARBONDATA-2532][Integration] Carbon to support spark 2.3 version

What changes were proposed in this pull request?
Column vector and Columnar Batch interface compatibility issues has been addressed in this PR, The changes were related to below modifications done in spark interface
a) This is a refactoring of ColumnVector hierarchy and related classes.
b) make ColumnVector read-only
c) introduce WritableColumnVector with write interface
d) remove ReadOnlyColumnVector
In this PR inorder to hide the compatibility issues of columnar vector API's from the existing common classes, i introduced an interface of the proxy vector readers, this
proxy vector readers will take care the compatibility issues with respect to spark different versions.
How was this patch tested?
Manual testing, and existing test-case execution

Please review and provide me valuable feedback, This PR is dependent on another PR which is yet to be raised , this is intial draft, any comments are welcome

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4943/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5099/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4945/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/6107/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5101/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/6241/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/5079/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/6242/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/5080/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5212/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5213/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/6243/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/5081/

Raised new PR
https://github.com/apache/carbondata/pull/2365


Connection not working

Hello,
From today I can't connect to clarius via Cast api.
I have this error message :
"software revisions are different, the connection may not operate as intended"
here some information:
Cast api gives me :
Firmware V1: 11.0.0-540+bf1bbd364b
Firmware HD: 11.0.0-525+bf1bbd364b
Firmware HD3: 11.0.0-525+bf1bbd364b
Clarius app gives me :
Version 11.1.0-444+d52e601542
Version scanner software 11.1.0-554+752c0d8892
Vesion scanner software HD 11.1.0-540+752c0d8892
How can I fixe this?
Best regard
<EMAIL_ADDRESS>

you will still be able to image and work with the API, as we did not change anything to our protocol between versions. In the meantime, we'll be uploading API version 11.1 soon, thanks

Yes it's true but it's problematique trigger an error while it's just an information.

please find the latest release here: https://github.com/clariusdev/cast/releases


adopt proper hrp prefixes for 1854H purpose for shelley style

adp-1114

PR to be compatible with https://github.com/input-output-hk/cardano-wallet/pull/2870


[Feature Request]: Get multiple valid fixes for an invalid JSON string

Describe the solution you'd like
Imagine your LLM spits out:
{"foo": {"bar": {"baz": 1}, "zig": {"zag": 2}}
This JSON is missing a bracket. There are two places it could go that would fix the issue:
{"foo": {"bar": {"baz": 1}, "zig": {"zag": 2}}
|-------------------------^--------or---------^|

Currently, repair_json.loads() returns the valid JSON with the added closing bracket at the end. But my pydantic model actually requires the other solution.
So if I could do:
valid_jsons = json_repair.parse_all(invalid_llm_output)
validated_output = None
for valid_json in valid_jsons:
    try:
        validated_output = MyExpectedOutputModel.parse(valid_json)
    except ValidationError:
        continue

if not validated_output:
    ... do something ...

Context
That would help make this in even more powerful tool in avoiding calling the LLM for fixing the JSON.

Hi, unfortunately for this specific case, and I think more in general, that is not possible due to the nature of the parser I chose.
The library implements a LL(1) parser, that is a totally natural parser for JSON, and this specific string is completely valid till the very end.
The parser never encounters any error to fix (you can see this by enabling logging). The string just ends and at that point the parser returns an object that is then converted to JSON.
This is unfortunately a limitation of the model, rewriting everything using an LR parser and then generate multiple solutions would be a massive task.
The alternative is to add the ability to pass a pydantic schema and then parse according to the schema (and return nothing if the schema cannot be met), something that has been floated before but I have avoided so far because it's a lot of work :)

Gotcha. I figured there was a good chance it was infeasible, out of scope, or both, but figured I would ask.
Thanks!


Fix typedoc Light/Dark mode styling

Problem
@tdonia noticed the dark mode for the typescript client documentation was broken as we overrode a variety of styles with custom css, but didn't account for how the typedoc default theme handles media queries. We had also hidden the light/dark mode toggle, and I had cookies cached locally setting things to light mode, so this went unnoticed for a bit. 😅
There's no easy way to disable the default light/dark toggle behavior, and it defaults to the user's OS value.
Solution

Re-expose the mode selector. We had also hidden the entire settings accordion.
Update docs-styles.css to handle media queries on prefers-color-scheme and the data-theme attribute.

Initially I wanted to override everything with our own colors and keep the light/dark toggle disabled, but I think this would be far more tedious than just copying their patterns for managing colors, and overriding things individually for each mode.
In this PR I'm basically inheriting all their dark mode colors, and applying our Pinecone stuff in light mode. I also tweaked a few things to clean up look and feel in a few places while I was in there.

Before
After

Type of Change

[X] Bug fix (non-breaking change which fixes an issue)

Test Plan
You can pull the branch down and run npm run docs:build locally. Navigate to ./docs in the repo and open the index file to view the generated documentation. Validate that light and dark modes both look visually reasonable.

looks great // works for me in both modes.  thanks @austin-denoble!


UI Makeover

Going with a purple theme to keep things consistent with our logo. Taking inspiration from Material Design. Light theme will be the default (read my Github Bio), but the dark theme stylesheet will still exist if we want to add theme toggling as a potential v1.2b feature.

Codecov Report
Base: 64.20% // Head: 64.07% // Decreases project coverage by -0.13% :warning:

Coverage data is based on head (8b5a4c5) compared to base (8f4e0dc).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #44      +/-   ##
============================================
- Coverage     64.20%   64.07%   -0.14%
  Complexity      422      422
============================================
  Files            80       80
  Lines          1461     1464       +3
  Branches        153      154       +1
============================================
  Hits            938      938
- Misses          484      487       +3
  Partials         39       39

Impacted Files
Coverage Δ

src/main/java/seedu/address/Main.java
0.00% <0.00%> (ø)

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

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

LGTM


Remove version: schollz.croc version 10.04

Wrong versioning scheme. The correct version is 10.0.4 (latest is 10.0.6)
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/schollz/croc/releases/download/v10.04/croc_v10.04_Windows-32bit.zip
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 899)

Hi @sitiom,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 882.)


Lower the minimum platform requirements

I'll lower the minimum platform requirements to the following in v0.10.0:
.iOS(.v14),          // from 16.4
.macCatalyst(.v14),  // from 16.4
.macOS(.v11),        // from 13.3
.tvOS(.v14),         // from 16.4
.watchOS(.v7),       // from  9.4

The most notable consequence is that StaticBigInt will be disabled by default.

I'll push the current changes v0.9.0, so v0.10.0 will basically be:
+ SDKs
+ CocoaPods
- StaticBigInt

I wanted StaticBigInt to be toggle-able through the command line, but no dice (#64).


Don't pass mask

Can I use TextInputMask but with undefined or some other value of property mask (any character)? It's comfortable to use this component with mask and without.

Anybody here? Can I somehow use mask for any symbol?)

@maksugr yes, it checks if mask prop available – https://github.com/react-native-community/react-native-text-input-mask/blob/master/index.js#L23, so you can use TextInputMask like a TextInput without mask features. Let me know if it doesn't work :)

@ivanzotov I get a crash in Android if I do not pass a mask

@kirakik thanks, reopened issue, will fix

@ivanzotov yes, I had the same issue. sorry for non informative first message.

@maksugr a work around for now would be to create a component that renders a text input, and pass it a mask prop when you need it. Then in the rendering of that component, you can do:
const Input = this.props.mask ? TextInputMask : TextInput
return (
    <Input {...} />
)

@kirakik yes, this way is good and work, but not for me. I also wrap components in styled-components and my logic is more complicated then this, and it doesn't work without additional hacks. So I want TextInputMask that works without mask prop by default.

@maksugr fixed in 0.6.2

i still get the same non-null error....

i still get the same non-null error....


Help for my use

I'm broadcasting udp with FFMPeg and I'm trying to connect to it and show the video stream on the phone, I'm doing it as follows, but it didn't work, can someone with knowledge help me with my code? I can read UDP data but I can't process it, I can't convert it to video, do I need to use it with AVPlayer?
ffmpeg -f avfoundation -video_size 1280x720 -framerate 30 -i "0" -pixel_format uyvy422 -vf hflip -c:v libx264 -preset medium -tune zerolatency -f mpegts "udp://<IP_ADDRESS>:6000?pkt_size=1316"

import Foundation
import CoreMedia
import VideoDecoder
import SwiftUI
import Network
import Combine
import CocoaAsyncSocket

class UDPManager: NSObject, ObservableObject, GCDAsyncUdpSocketDelegate, VideoDecoderDelegate {
    private let host: String
    private let port: UInt16
    private var socket: GCDAsyncUdpSocket?
    var decoder:H264Decoder?

    init(host: String, port: UInt16) {
        self.host = host
        self.port = port
    }

    func connectUDP() {
        decoder = H264Decoder(delegate: self)

        do {
            socket = GCDAsyncUdpSocket(delegate: self, delegateQueue: .global())
            try socket?.bind(toPort: port)
            try socket?.enableBroadcast(true)
            try socket?.enableReusePort(true)
            try socket?.beginReceiving()

        } catch {
            print("UDP soketi oluşturma hatası: \(error)")
        }
    }

    func closeUDP() {
        socket?.close()
    }

    func udpSocket(_ sock: GCDAsyncUdpSocket, didConnectToAddress address: Data) {
        print("UDP Bağlandı.")
    }

    func udpSocket(_ sock: GCDAsyncUdpSocket, didNotConnect error: Error?) {
        print("UDP soketi bağlantı hatası: \(error?.localizedDescription ?? "Bilinmeyen hata")")
    }

    func udpSocket(_ sock: GCDAsyncUdpSocket, didReceive data: Data, fromAddress address: Data, withFilterContext filterContext: Any?) {
        if !data.isEmpty {
            DispatchQueue.main.async {
                self.decoder?.decodeOnePacket(VideoPacket(data, fps: 30, isIFrame: true, type: .h264, videoSize: CGSize(width: 1920, height: 1080)))
            }
        }
    }

    func decodeOutput(video: CMSampleBuffer) {
        print("Work")
    }

    func decodeOutput(error: DecodeError) {
        print("\(error)")
    }
}

You need to confirm whether the data transmitted by Socket is a complete video frame


Remove and fix usage of get_models_compat

It does not expect an app label, but an app instance.
Ref: https://github.com/django-extensions/django-extensions/issues/862.
Trivially conflicts with https://github.com/django-extensions/django-extensions/pull/883.

Coverage decreased (-0.02%) to 32.097% when pulling e0ce0b647a2b41cdee52bfdc4689c5b779b811b2 on blueyed:doc-clarification into 5bda5ca6a16fefaf9a2334e247beb5b055365dce on django-extensions:master.

Coverage increased (+0.02%) to 32.132% when pulling 99ecba5c08e2e03723e55c48eb9b14c5cb3f84b3 on blueyed:doc-clarification into 3a0ca9e40a11729d30cc3f2d916c446321805f97 on django-extensions:master.


User Story: Adding a New Cluster to the Config (Version 2)

Title:
As a user, I want the unified config file to include new clusters I gain access to so that I can access them without requiring multiple configs.

Description:
When a user gains access to a new cluster, the unified configuration file is updated to include the new cluster's details. Users must download the updated config from the Gangway interface.

Acceptance Criteria:

Config Update:

When new cluster access is granted, the unified config file reflects the updated list of clusters.

Gangway Integration:

The "Download Unified Config" button provides the updated file after new cluster access is granted.

Validation:

Users can download the updated config file and use it to access the newly added cluster.

Steps for Validation:

Grant the user access to a new cluster.
Ensure the updated config file includes the new cluster.
Use the config file to verify access to all clusters, including the newly added one.

Consider Gangway as quick solution for value delivery in initial sprints. Proper solution is download from Ops dashboard using keycloak authz

Consider Gangway as quick solution for value delivery in initial sprints. Proper solution is download from Ops dashboard using keycloak authz

Yes, I am making a version 3 user story for this.


[SPARK-32864][SQL] Support ORC forced positional evolution

What changes were proposed in this pull request?
Add support for orc.force.positional.evolution config that forces ORC top level column matching by position rather than by name.
This does work in Hive:
> set orc.force.positional.evolution;
+--------------------------------------+
|                 set                  |
+--------------------------------------+
| orc.force.positional.evolution=true  |
+--------------------------------------+
> create table t (c1 string, c2 string) stored as orc;
> insert into t values ('foo', 'bar');
> alter table t change c1 c3 string;

The orc file in this case contains the original c1 and c2 columns that doesn't match the metadata in HMS. But due to the positional evolution setting, Hive is capable to return all the data:
> select * from t;
+--------+--------+
| t.c3   | t.c2   |
+--------+--------+
| foo    | bar    |
+--------+--------+

Without this PR Spark returns nulls for the renamed c3 column.
After this PR Spark returns the data in c3 column.
Why are the changes needed?
Hive/ORC does support it.
Does this PR introduce any user-facing change?
Yes, we will support orc.force.positional.evolution.
How was this patch tested?
New UT.

Test build #128593 has started for PR 29737 at commit 663a469.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/33218/
Test PASSed.

Test build #128593 has finished for PR 29737 at commit 663a469.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128593/
Test PASSed.

cc @dongjoon-hyun FYI

Thanks @HyukjinKwon.
@dongjoon-hyun could you please take a look at this PR?

Test build #128765 has started for PR 29737 at commit 77fd46a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/33388/
Test PASSed.

Test build #128765 has finished for PR 29737 at commit 77fd46a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128765/
Test PASSed.

Test build #128833 has started for PR 29737 at commit 7143cde.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/33456/
Test PASSed.

Test build #128833 has finished for PR 29737 at commit 7143cde.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128833/
Test FAILed.

cc @cloud-fan, @dongjoon-hyun, @maropu, @viirya

retest this please

Test build #128871 has started for PR 29737 at commit 7143cde.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/33493/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128871/
Test PASSed.

cc @gatorsmile and @dbtsai

@dongjoon-hyun Thanks for the references! It seems that the orc.force.positional.evolution config was designed for schema evolution, and I think it's better to design schema evolution natively at Spark side.

All right, thanks @dongjoon-hyun for the details. I guess I should close this PR for now.

Thank you so much, @peter-toth and @cloud-fan .

@dongjoon-hyun, @cloud-fan those 2 issues has been solved in ORC 1.5.12. Do you think we can resume this PR?
@cloud-fan, I understand that this PR doesn't give a full blown schema evolution support natively in Spark, but it would definitely help a few users who has been using this flag in Hive and would like to use the same in Spark too.

which ORC version spark is using?

which ORC version spark is using?

We started to use 1.5.12 recently:
https://github.com/apache/spark/commit/aa6657981aefae8067672d2c99ca560b6179b723

retest this please

This looks like a useful addition, is there any update on this?

This looks like a useful addition, is there any update on this?

@redsanket .
Apache Spark 3.2.0 is currently using 1.6.6 which is the latest one. I believe we can re-evaluate and resume this.

@redsanket .
Apache Spark 3.2.0 is currently using 1.6.6 which is the latest one. I believe we can re-evaluate and resume this.

Test build #133976 has started for PR 29737 at commit 7143cde.

Test build #133976 has started for PR 29737 at commit 7143cde.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38563/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38563/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38563/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38563/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38563/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38563/

Test build #133976 has finished for PR 29737 at commit 7143cde.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133976 has finished for PR 29737 at commit 7143cde.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133976/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133976/

Test build #134021 has started for PR 29737 at commit fbab1e4.

Test build #134021 has started for PR 29737 at commit fbab1e4.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38608/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38608/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38608/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38608/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38608/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38608/

Test build #134021 has finished for PR 29737 at commit fbab1e4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #134021 has finished for PR 29737 at commit fbab1e4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134021/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134021/

Test build #134054 has started for PR 29737 at commit b12dfef.

Test build #134054 has started for PR 29737 at commit b12dfef.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38640/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38640/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38640/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38640/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38640/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38640/

Test build #134059 has started for PR 29737 at commit 51f503c.

Test build #134059 has started for PR 29737 at commit 51f503c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38645/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38645/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134059/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134059/

Test build #134054 has finished for PR 29737 at commit b12dfef.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #134054 has finished for PR 29737 at commit b12dfef.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38645/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38645/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134054/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134054/

Retest this please.

Retest this please.

Test build #134070 has started for PR 29737 at commit 51f503c.

Test build #134070 has started for PR 29737 at commit 51f503c.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38656/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38656/

Thank you, @peter-toth and all . Merged to master.
Sorry for the delay on this contribution.

Thank you, @peter-toth and all . Merged to master.
Sorry for the delay on this contribution.

Test build #134070 has finished for PR 29737 at commit 51f503c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #134070 has finished for PR 29737 at commit 51f503c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134070/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134070/

Thanks @dongjoon-hyun and all for the review.

Thanks @dongjoon-hyun and all for the review.