Added filter predicate overloads to globber & clean directory methods

Sometimes when working with recursive globbering it can lead into a rabbit hole of loads of folders, given at best bad performance and at worst hitting the .Net max path length limitation.
This PR proposes you to set a predicate for folders / files you know there's no need to explorer / include.
Sample DSL usage GetFiles with predicate:
Func<IFileSystemInfo, bool> exclude_node_modules =
    fileSystemInfo=>!fileSystemInfo.Path.FullPath.EndsWith(
                            "node_modules",
                            StringComparison.OrdinalIgnoreCase);

var solutions = GetFiles("./**/*.sln", exclude_node_modules);

Sample DSL CleanDirectories with predicate:
Task("Clean")
    .Does(() =>
{
    // Clean solution directories.
    foreach(var path in solutionPaths)
    {
        Information("Cleaning {0}", path);
        CleanDirectories(path + "/**/bin/" + configuration, exclude_node_modules);
        CleanDirectories(path + "/**/obj/" + configuration, exclude_node_modules);
    }
});

Out of curiosity, is there any reason this is a predicate rather than an exclude pattern.

@RichiCoder1 predicate is more powerful as it let's you typed go against any property on the objects i.e. only apply to files, or hidden etc.

Refactored according to feedback.

Looks good to me now. OK to merge.


Should Anyhow include features for library-specific integrations?

Self-explanatory -- should anyhow include integrations for libraries that require specific traits to be implemented for types? I feel like it'd be pretty useful in cases like actix-web, which requires specific traits to be implemented like ResponseError so that errors can be converted into HTTP responses.
I feel like it'd be (at least a little) in line with the "You want it to be easy" user experience.

I am not interested in adding anything like that in this crate.


[0.6.0-dev] useProvider triggers pointless rebuild when the value type is collection

Describe the bug
useProvider triggers pointless rebuild when the value is collection type.
To Reproduce
At 0.6.0-dev+2,  executed this.
build log will be printed each time PRESS ME button is pressed.
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

void main() => runApp(const ProviderScope(child: App()));

class App extends StatelessWidget {
  const App({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends HookWidget {
  const HomePage({Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    print('build');
    useProvider(_stateProvider.select((value) => value.state));
    return Scaffold(
      appBar: AppBar(),
      body: RaisedButton(
        child: const Text('PRESS ME'),
        onPressed: () => context.read(_stateProvider).state = [42],
      ),
    );
  }
}

final _stateProvider = StateProvider((_) => [42]);

If [42](List<int>) is changed to 42(int), the problem doesn't occurs, so collection comparison seems broken.
Expected behavior
build should be printed at first time when the UI appeared, and shouldn't be printed when PRESS ME button pressed.
At 0.5.1, it works well without any problems.

https://github.com/rrousselGit/river_pod/blob/4c0889e6893d9c4e051d7ce8b828c9fcb98152d3/packages/riverpod/lib/src/framework/select.dart#L46 seems to cause the problem 👀

This was removed voluntarily
Collection comparison are quite expensive, so it is usually inefficient

Is there any way to compare collection like previously?
I sometimes prefer this kind of optimization.
class _ListView extends HookWidget {
  const _ListView({ Key key }): super(key: key);
  @override
  Widget build(BuildContext context) {
    final ids = useProvider(someProvider.state.select((s) => s.keys.toList()));
    return ListView.builder(
      itemCount: ids.length,
      itemBuilder: (context, index) => _Tile(id: ids[index]),
    );
  }
}

But I know this kind of optimization is not much needed, so it is okay if collection comparison is impossible.

There's a different solution:
final someLengthProvider = Provider((ref) {
  return ref.watch(someProvider).keys.length;
});

return ListView.builder(
  itemCount: useProvider(someLengthProvider),
);

Thanks, but the detection of ids's reorder is needed 🤔

You could have :
itemBuilder: (context, index) {
  return HookBuilder(builder: (context) {
    final id = useProvider(someProvider.select((s) => s.keys.elementAt(index))
    return TodoItem(id);
  });
})

Thanks, it suppresses the pointless rebuild and works well 👍
https://github.com/mono0926/riverpod_example/blob/5a69ef38ffbf5e9654821d4727da52374c1b7217/lib/pages/counters_page/counters_page.dart#L21-L35
I think this change should be documented(although you may already be planning on it).
The problem was fixed, so I'm closing the issue, thanks again!

Such code is how Todo and Marvel deal with lists, with using ScopedProvider on the top of that to make the list item constant

Thanks, that's much better 👍
Indeed I was concerned the rebuild of each item rather than ListView itself.
So, I reverted the change, and make _Tile as const.


Add animation to skeleton screen

Summary
Use linear gradient view, move position and opacity with animation interpolation for animation
Ticket Link
Issue
Ticket
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Has UI changes

Device Information
This PR was tested on [Iphone 6s simulator, Nokia 6 device]
Screenshots
Gif from simulator. So not that great but it is better on a real device

I tried few libraries for this but none of them were good enough (Either was not actively maintained, Memory leaks, limited API or  animation was not that great). So for now added it on top the existing code. we can again revisit about plugin based on the growing needs of the skeleton screens
and none of them seem to be good or actively maintained and few even had memory leaks. So


Updated decommissioned ius repo link

See OpenROAD-flow/#79

I cannot see the jenkins fail, how can I check the errors?
Do I need permissions to log in?

This issue has been fixed.


How to use Chakra UI?

I would like to use Chakra UI with my react-static application. I created a new react-static app and followed the instructions at:
https://chakra-ui.com/docs/getting-started
I installed the dependencies:
yarn add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^4

Then I added the ChakraProvider to index.tsx:
  const render = (Comp: Function) => {
    renderMethod(
        <ChakraProvider>
            <AppContainer>
                <Comp />
            </AppContainer>
        </ChakraProvider>,
      target
    )
  }

When building I got the error:
Running plugins...
[❌] Application bundling failed
/home/ldlework/src/ldlework-static/node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js 35:28-41
"export '__spreadArray' was not found in 'tslib'
 @ /home/ldlework/src/ldlework-static/node_modules/framer-motion/dist/es/index.js
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS> @ /home/ldlework/src/ldlework-static/src/index.tsx
 @ multi react-hot-loader/patch ../lib/bootstrapPlugins.js ../lib/bootstrapTemplates.js /home/ldlework/src/ldlework-static/src/index.tsx
/home/ldlework/src/ldlework-static/node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js 35:42-55
"export '__spreadArray' was not found in 'tslib'
 @ /home/ldlework/src/ldlework-static/node_modules/framer-motion/dist/es/index.js
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS> @ /home/ldlework/src/ldlework-static/src/index.tsx
 @ multi react-hot-loader/patch ../lib/bootstrapPlugins.js ../lib/bootstrapTemplates.js /home/ldlework/src/ldlework-static/src/index.tsx
/home/ldlework/src/ldlework-static/node_modules/framer-motion/dist/es/render/index.js 280:21-34

In googling, I found this error was due to old TS lib, so I updated both typescript and tslib:
yarn add -D<EMAIL_ADDRESS>yarn add<EMAIL_ADDRESS>
This allowed the site to build but at runtime in the browser I get:
Uncaught SyntaxError: Unexpected token '['
    at eval (<anonymous>)
    at ES6ProxyComponentFactory (react-hot-loader.development.js:341)
    at createClassProxy (react-hot-loader.development.js:814)
    at updateProxyById (react-hot-loader.development.js:1301)
    at Object.register (react-hot-loader.development.js:2849)
    at register (motion.js:84)
    at Module.../../framer-motion/dist/es/index.js (motion.js:86)
    at __webpack_require__ (bootstrap:789)
    at fn (bootstrap:100)
    at<EMAIL_ADDRESS>(index.js:44)

How can Chakra UI be made to work with react-static? Any guidance is appreciated.

I followed the same reference but I added the ChakraProvider inside App.js:
function App() {
  return (
        <ChakraProvider theme={theme}>
            ...
        </ChakraProvider>
   );
}

export default App;

I tried what @RodrigoPrior suggest, but it doesn't work

Unfortunately no-one can solve "it doesn't work". If you'd like others to help you resolve this, a description of actual and expected behaviour, any issues, errors, or stacktraces, and a Minimal Reproducible Example will go a long way.

I tried what @RodrigoPrior suggest, but it doesn't work

Do you have the same issues and errors described earlier in this thread?

@RodrigoPrior  @SleeplessByte  it's the exact same issue described in this thread and I got the same error after added
function App() {
  return (
        <ChakraProvider theme={theme}>
            ...
        </ChakraProvider>
   );
}

export default App;

Did you also follow the reference document? Do you get the tslib error or the other error?

@SleeplessByte
Yes, I did.
The source is tslib and it's coming from framer-motion
Updating bundle...
[❌] Application bundling failed
/Users/xxx/dev/experiment/xxx/node_modules/framer-motion/dist/es/animation/utils/transitions.js 108:17-30
"export '__spreadArray' was not found in 'tslib'

step to reproduce

react-static create (choose typescript)
yarn add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^4
Follow the reference document by adding ChakraProvider

import React from 'react'
import { Root, Routes, addPrefetchExcludes } from 'react-static'
import { Link, Router } from '@reach/router'
import FancyDiv from 'components/FancyDiv'
import Dynamic from 'containers/Dynamic'
import { ChakraProvider } from "@chakra-ui/react"

import './app.css'

// Any routes that start with 'dynamic' will be treated as non-static routes
addPrefetchExcludes(['dynamic'])

function App() {
  return (
    <ChakraProvider>
      <Root>

          <Link to="/">Home</Link>
          <Link to="/about">About</Link>
          <Link to="/blog">Blog</Link>
          <Link to="/dynamic">Dynamic</Link>

          <FancyDiv>
            <React.Suspense fallback={Loading...}>
              <Router>
                <Dynamic path="dynamic" />
                <Routes path="*" />
              </Router>
            </React.Suspense>
          </FancyDiv>

      </Root>
    </ChakraProvider>
  )
}

export default App

Can you check yarn.lock and tell us what tslib is at? You probably want to upgrade tslib to the latest version.

I tried 2.2.0 and  2.3.0 and it didn't work
it gave me
Uncaught SyntaxError: Unexpected token '['
    at eval (<anonymous>)
    at ES6ProxyComponentFactory (react-hot-loader.development.js:341)
    at createClassProxy (react-hot-loader.development.js:814)
    at updateProxyById (react-hot-loader.development.js:1301)
    at Object.register (react-hot-loader.development.js:2849)
    at register (motion.js:84)
    at Module.../../framer-motion/dist/es/index.js (motion.js:86)
    at __webpack_require__ (bootstrap:789)
    at fn (bootstrap:100)
    at<EMAIL_ADDRESS>(index.js:44)

yarn.lock
<EMAIL_ADDRESS><EMAIL_ADDRESS>  version "2.3.0"
  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>  version "1.14.1"
  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
  integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==

Alright. So same issue as original poster. This error is a better error tho.
I don't know if Chakra UI is compatible with SSR. It doesn't use SSR in debug, but does in production/build. Here it's trying to SSR and that fails. Perhaps @RodrigoPrior has more information.

I got a fresh typescript react-static create with Chakra UI running and wanted to post my steps here for posterity. FWIW, I didn't encounter the error the original poster described.
Steps to reproduce:

react-static create (choose typescript)
yarn add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^6

Note: the version of framer-motion here differs from earlier posts, but this is what is currently noted in chakra ui's docs

Add ChakraProvider to App.tsx:
import React from 'react'
import { Root, Routes, addPrefetchExcludes } from 'react-static'
import { Link, Router } from '@reach/router'
import FancyDiv from 'components/FancyDiv'
import Dynamic from 'containers/Dynamic'
import { ChakraProvider } from "@chakra-ui/react"

import './app.css'

// Any routes that start with 'dynamic' will be treated as non-static routes
addPrefetchExcludes(['dynamic'])

function App() {
  return (
    <ChakraProvider>
      <Root>

          <Link to="/">Home</Link>
          <Link to="/about">About</Link>
          <Link to="/blog">Blog</Link>
          <Link to="/dynamic">Dynamic</Link>

          <FancyDiv>
            <React.Suspense fallback={Loading...}>
              <Router>
                <Dynamic path="dynamic" />
                <Routes path="*" />
              </Router>
            </React.Suspense>
          </FancyDiv>

      </Root>
    </ChakraProvider>
  )
}

export default App

Add node.api.js file

At this point, running the app with npm: start got the following error for various different framer-motion exports:ERROR in /Users/kpotempa/workspace/my-static-site/node_modules/framer-motion/dist/es/utils/use-cycle.mjs 45:47-51
Can't import the named export 'wrap' from non EcmaScript module (only default export is available)

Resolved by adding the following node.api.js file at root:export default (pluginOptions) => ({
  webpack: (config) => {
    config.module.rules.push({
      test: /\.mjs$/,
      include: /node_modules/,
      type: "javascript/auto",
    });
    return config;
  },
});

At that point, it bundled without errors and Chakra UI example components I added worked in the browser without any console errors.
Hope this is useful!


Git LFS error when trying to clone repository - and a fix

Using Ubuntu 23.10, When trying to clone the repository, I got:
michael@michael-desktop:~/workspace$ git clone https://github.com/C4dynamics/C4dynamics.git
Cloning into 'C4dynamics'...
remote: Enumerating objects: 2620, done.
remote: Counting objects: 100% (212/212), done.
remote: Compressing objects: 100% (144/144), done.
remote: Total 2620 (delta 129), reused 104 (delta 68), pack-reused 2408
Receiving objects: 100% (2620/2620), 146.37 MiB | 8.62 MiB/s, done.
Resolving deltas: 100% (1583/1583), done.
git-lfs filter-process: 1: git-lfs: not found
fatal: the remote end hung up unexpectedly
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
Probably due to the yolov3.weights (248 MB)
The fix in Ubuntu is straightforward. Simply delete the half cloned folder, and:
sudo apt-get install git-lfs
git lfs install
(This command needs to be run once per user account)

Yes. I can't check it on my windows machine because it has already git lfs installed, but from this question and references there it seems to occur also on windows.
Good work.
I'll add a note in the readme.

Just encountered this one, so I enabled the large files to be included in the archives.
I guess it works also for unix-based.
Re-open if persists.


Kenneth/front end

#1
I fetched from the data from the aws amplify created by @shu8 and then used it to populate my card data.

Login page:

@kendevops I think this can be merged after the search logic is finished, so I think we've decided on doing something like this:
filteredPeople = people.filter(fellow => Object.values(fellow).toString().includes(textToSearch)

for the search onsubmit
right?

We could zoom in on the specific values that we're interested in instead of filteredPeople = people.filter(fellow => Object.values(fellow).toString().includes(textToSearch) but for our purposes it's good!

I have done the filter, though i implemented it to filter the pod names, so all the data fetched has to show then from there i filtered implemented a filter for the pods.

Will fill conflict now

Alright, so we are hosting with heroku right?

Not sure why the GitHub interface was showing a conflict, I've merged this from the CLI instead. 🎉

@kendevops yeah! will deploy now


Fix logging set_log_level of logger and handler

It seems like that handler log level is ignored.. to be investigated.
c.f. logging tutorial.

Fixed in 8168026eaf69ef0d7da82c216458bc67a881d903


Airport URL-load

Add load airport.json by url.
Airport-url can store in Localstorage.
This makes it possible to upload airport without code changes.
Sorry for bad english.

Hmm, it might be better to expose the data from the javascript code itself in a usefull way.
Adding localstorage generally doesn't guarantee the code is using that data live unless additional code is added.
But this issue (should actually be a separate issue) does me think somehow hore about adding a manifest for offline usage of the app like this: http://www.html5rocks.com/en/tutorials/appcache/beginner/

Store only url to file, and load file by url on init.

Closing along with #113.


GROUNDWORK-1707 Support json tag omitempty for time fields

Close this one and move all work into https://github.com/gwos/tcg/pull/266


drone's rpm not compatible with CentOS 6

CentOS 6 come with glibc 2.12, but drone's rpm generated on machine with glibc 2.14.
If CentOS 7 is a requirement, we need to make it clear.

we've altered our build process for the 0.4 version. First, we are running our build in a Debian container instead of an Ubuntu container, which means we are using glibc 2.1.2. Second, we ship Drone as a Docker image instead of using distro-specific packing (rpm, deb, etc)
drone image, for reference:
http://readme.drone.io/docs/setup/


Bump github.com/go-git/go-git/v5 to latest to resolve CVE-2023-49569 …

…(critical)

Can you fix the UT please, to fix this critical CVE ?

Taking a look, thanks for opening. The new library versions don't appear to play well with older Go releases.
It appears since the crypto lib dependabot PR couldn't be merged (new workaround might unblock it now), it froze all of the other dependabot PRs and I wasn't notified. :disappointed: Maybe once those are merged this becomes easier.

Fixed by https://github.com/JohnStarich/go/pull/65
Released  as<EMAIL_ADDRESS>

Thank you so much !


support batch entry append

Fixed #64

Hi @TerrellChen sorry to reply you so late. I want to ask if there is a corresponding rocketmq implementation for batch message ?

IMO, this implementation is correct. We need to complete the implementation in RocketMQ and do some chaos tests to confirm that there is no problem. I am willing to follow this pr and help to merge it.

Yes,  there is a corresponding rocketmq implementation for batch message. I will submit a pr for this.
But how to set the correct version for dledger in rocketmq's pom?

Please check the mail when you are convenient. @RongtongJin

Please check the mail when you are convenient. @RongtongJin

Good job! I have received your email and will review it ASAP. I will consider quickly releasing a minor version for DLedger to help you submit PR to rocketmq repo.

@TerrellChen
DLedger 0.2.1 has been released and contains the latest batch append code. So you can submit a pull request to RocketMQ repository.  I have reviewed your code and I think it is correct. But maybe the version you are based on is older, so you need to implement asyncPutMessages method and pay attention to the relevant modifications of IPv6, I don't think it's hard for you: -)
If you submit a PR, I'll track the PR and help to merge.


reviewfeedback pop up added

Pull Request Template for GSoC 2024
Related Issue
[Please list any related issue numbers that this pull request resolves. If none, state "None"]
closes: #489
Description of Changes
Added the good looking pop up while submitting feedback
Type of Pull Request

[ ] Bug Fix
[X ] New Feature
[ ] Performance Improvement
[ ] Documentation Update
[ ] Code Refactoring
[ ] Security Enhancement
[ ] Other (Specify): _______________

(Please check relevant boxes by entering an "X" inside them)
Screenshots / Demo (if applicable)
https://github.com/user-attachments/assets/329e7168-7464-4bcd-90af-79db8c5abfd3
the pop up will remove after 3 sec automattically
Checklist for Contributor
use'X' in [ ] to check it .

[ X] I have reviewed my code before submission.
[ X] I have read and followed the project's Contribution Guidelines.
[ X] I have tested the code thoroughly.
[X ] I have attached related issue numbers, screenshots, or videos (if applicable).
[X ] I have added comments to my code where necessary for clarity.
[ X] I have checked the existing code base and my changes do not introduce any breaking changes.
[X ] My PR addresses only one issue; I have created separate PRs for other issues.
[X ] I have ensured that the PR does not include unrelated files.
[X ] I am mindful of the project's coding standards and best practices.

Additional Information
[Include any additional context or relevant information that may help in reviewing this PR.]
Contribution Guidelines Reminder
Thank you for contributing to our project! Please ensure you follow the guidelines below:
Contribution Levels

Task Categories:

Basic Tasks: Primarily focused on small changes like minor bug fixes, documentation improvements, and unit testing. Labeled as Easy.
Intermediate Tasks: Moderate-level tasks that involve enhancing existing features, code refactoring, or performance improvements. Labeled as Medium.
Advanced Tasks: Complex tasks like building new features, significant refactoring, or critical bug fixes. Labeled as Hard.

Acknowledging Effort:

Exceptional contributions will be recognized with a higher contribution level if substantial effort and innovation are demonstrated.

Review Process

PRs will be reviewed by the maintainers, and feedback will be provided. Contributors should address feedback promptly and resubmit the PR if necessary.

Contributors are encouraged to participate in the review process of other PRs for community growth.

We appreciate your time and effort in improving this project and look forward to your valuable contributions!

@VinayLodhi1712 please resolve conflicts

solved merge conflicts @dhairyagothi


Suddenly can't sign in using Jellyfin Account, log has username set as e-mail

Description
Yesterday I setup Jellyseerr and it worked great, on the next day I couldn't log in with Jellyfin anymore, nothing changed.
When I click sign in, it says "signin in" for minutes, then fails with "username or password is incorrect", my login still works on jellyfin but not on jellyseerr, I then tried to delete the whole container and start it from scratch, removed jellyseerr from jellyfin devices and deleted the jellyseerr configs. now on the new setup I got the same problem and can't sign in with jellyfin.
I tried changing the Jellyfin adress in the settings but it didn't help either
I noticed something odd in the logs, the failed attempt says email: Bushcat which is the Username I entered, there's no Username field or my email address as value to be found in the message.
shouldn't it be more like
{"account":{"ip":"::ffff:<IP_ADDRESS>","email":"something@mail.com","username":"Bushcat","password":"REDACTED"}}
Version
v1.7.0
Steps to Reproduce

Open Jellyseerr WEBUI
Sign in with Jellyfin
Wait 5 Minutes until it fails
Open Docker Logs

Screenshots
No response
Logs
$ NODE_ENV=production node dist/index.js
yarn run v1.22.19
2024-01-02T12:16:27.510Z [info]: Commit Tag: $GIT_SHA
2024-01-02T12:16:29.177Z [info]: Starting Overseerr version 1.7.0
warn  - You have enabled experimental features (scrollRestoration, largePageDataBytes) in next.config.js.
warn  - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use at your own risk.
2024-01-02T12:16:34.860Z [info][Server]: Skipping starting the scheduled jobs as we have no Plex/Jellyfin/Emby servers setup yet
2024-01-02T12:16:34.837Z [info][Notifications]: Registered notification agents
2024-01-02T12:16:35.765Z [info][Server]: Server ready on port 5055
2024-01-02T12:20:18.535Z [warn][Auth]: Failed login attempt from user with incorrect Jellyfin credentials {"account":{"ip":"::ffff:<IP_ADDRESS>","email":"Bushcat","password":"__REDACTED__"}}

Platform
desktop
Device
X86_64
Operating System
Windows 11
Browser
Firefox & Chromium
Additional Context
my Docker Compose of Jellyseerr and Jellyfin
  jellyseerr:
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    restart: unless-stopped
    volumes:
      - ${FOLDER_FOR_CONFIGS:?err}/jellyseerr:/app/config
    environment:
      - PUID=${PUID:?err}
      - PGID=${PGID:?err}
      - UMASK=${UMASK:?err}
      - TZ=${TIMEZONE:?err}
    network_mode: "service:gluetun"
#    ports:
#      - "${WEBUI_PORT_JELLYSEERR:?err}:5055"             # Configured in Gluetun VPN container

  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - ${FOLDER_FOR_CONFIGS:?err}/jellyfin:/config
      - ${FOLDER_FOR_MEDIA:?err}/media:/data/media
      - ${FOLDER_FOR_MEDIA:?err}/cache/jellyfin:/cache
    environment:
      - PUID=${PUID:?err}
      - PGID=${PGID:?err}
      - UMASK=${UMASK:?err}
      - TZ=${TIMEZONE:?err}
      - JELLYFIN_PublishedServerUrl=${LOCAL_DOCKER_IP:?err}  # Enable for DLNA - Only works on HOST Network Mode
      - ROC_ENABLE_PRE_VEGA=1 # needed for transcoding on AMD GPU
    network_mode: 'host'
    ports:
      - "${WEBUI_PORT_JELLYFIN:?err}:8096"
      - 7359:7359/udp                 # Enable for DLNA - Only works on HOST Network Mode
      - 1900:1900/udp                 # Enable for DLNA - Only works on HOST Network Mode

Code of Conduct

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

No its not an issue with that. The issue is jellyseerr is in gluten whereas jellyfin is not. It can't reach jellyfin. Hop onto discord and ill help you troubleshoot


chore: remove obsolete comment

as requested by Oliver K.

Honestly I would just leave it for what it is right now. As it would be removed once the deep-queries.js logic is re worked.
Also it seems that this might actually be a bug with the current implementation if the root entity was not being modified.
As the answer to the question is that we should always return the number of root entities being modified.
Where if the current implementation does not find any changes on the root entity it would not add an UPDATE query for the root entity and it would return the number of modification in the child queries rather then the root entries. My expectation is that currently it will mostly return 1 or 0 so it doesn't show that it is not very obvious that it is returning the wrong value.

Honestly I would just leave it for what it is right now. As it would be removed once the deep-queries.js logic is re worked.
Also it seems that this might actually be a bug with the current implementation if the root entity was not being modified. As the answer to the question is that we should always return the number of root entities being modified. Where if the current implementation does not find any changes on the root entity it would not add an UPDATE query for the root entity and it would return the number of modification in the child queries rather then the root entries. My expectation is that currently it will mostly return 1 or 0 so it doesn't show that it is not very obvious that it is returning the wrong value.

makes sense. In this case, the comment is not really obsolete at this point and should be left as is. Thanks for explaining.


Database should store file integrity information.

The database should store:

File_size
File MD5_checksum

Then the utility could verify the status of the collection.
Quick verification

Check that the file size on disk equals the size in the database
Check that the file size equals the remote file size

Long verification

Check that the file hash equals the stored hash
If a file is corrupt offer to download it again( this might involve going through the whole list of member posts until the desired filename is found).

will not do, open for pull request.


IPZN and the future of ZeroNetJS

A few years ago, I started this project as a tiny summer holiday free-time-project, but had to give up mainly due to lack of active contributors and the fact that I still had school at that time.
Recently, @blurHY has contacted me about his ideas of creating IPZN, which seem to align very well with those of this project.
The existing ZeroNetJS code will likely serve as a ground-base for building the InterPlanetary ZeroNet client, which will utilize both the existing ZeroNet network, as well as the in-development IPLD integration, which will allow us to do things way beyond what ZeroNet can do, possibly leading to a completely new ZeroNet-Network.
Among others, the IPLD/IPFS network could add capapbilities such as immutability (permanent, verifiable archival), interoperability (imagine github on ZeroNet, but with push access - this is partly already possible with IPLD-git), and security (by attaching block-hashes from well-known cryptocurrencies to posts to improve timestamp reliability, to allow for more complex permission management)
The future plans are being discussed, but as far as I can tell, this definitivly has the potential to be something big
// cc @kustomzone  @DaniellMesquita @blurHY @MuxZeroNet @ZeroNetJS/devs

Indeed, zeronet, ipfs and blockchain are potential. Ethereum is an example, but it's not focused on anti-censorship.
I'm a student too, interestingly.
Plan/Wiki/How it works: https://gitlab.com/ipzn/ipzn/wikis/home
PS: I've configured the auto-mirror from gitlab to github

Do you think we should invite more people here ?
@d14na They seems interested in this project.
@HelloZeroNet

I'm a student too, interestingly.

I used to be. Until very recently. Now I'm a freelancer :P

i am very interested. my current commitments should be wrapping up in the next few weeks, and i'm planning to get back to 0net development full-time thru the end of the year.

Just ran into this page again. How you guys doing? I see a lot of discussion and planning, but Is anyone working on code? I'm free this weekend and mon is a holiday, so I'm looking to get into some code, lol.


Using accessible_by with overriding roles

I am having trouble using cancancan to select records based on abilities.
My ability.rb file looks like this:
    can :read, Business if user.admin?

    can :read, Business, Business.user_related(user) do
      Business.user_related(user).any?
    end

My controller tries this:
@businesses = Business.accessible_by(current_ability, :read)

If I comment out the top rule, everything seems to work. That is, I can load businesses produced by the Business.user_related scope. But if I include the top rule I get the error: "Unable to merge an Active Record scope with other conditions. Instead use a hash or SQL for read Business ability."
If the user is an admin, cancancan doesn't need to consult the database at all - they have access to all businesses. How can I express this in ability.rb?

+1 on the "example should be in the docs".


vpn

Description
[Insert description of issue here]
Detailed Information
Is available here

PEX v1 is no longer supported (and you're not even on the latest version of the v1 series...)

PEX v1 is no longer supported (and you're not even on the latest version of the v1 series...)


Implemented range ruler support for grid units other than yards and refactored range code

Ok some explanation for what I did :D
The code should be slowly reorganized. A lib folder is usually only used for various external libraries. Project code usually goes elsewhere. In order to not shake up the existing organisation too radically, and also according to what I've seen is often done in other systems and modules, I suggest moving the project code to the module folder. There it should be organized in folders according to the "problem domain", so I've moved this code to the size-speed-range folder. Each problem domain should best be split into a pure "gurps logic" namespace, and another one where everything is tied together with Foundry, so that those different concerns are not mixed. But code that does the same thing should also be located together, which is why this split is better on the individual problem domain level than on the global level. So I've gone ahead and split it into domain and foundry folders. foundry could theoretically be further split into Foundry infrstructure (hooking stuff up via hooks, chat commands, sheets etc) and use case / UI concepts which can be represented independently of the underlying Foundry infrastructure itself, but I'd leave this for later, if at all.
The most important piece of refactoring in ranges.js was I think refactoring the monsterHunter2Ranges and basicSetRanges objects. They were problematic because they were both directly used for internal calculations of range penalties for the range ruler, and exposed publicly to various consumers for their own purposes. There was also the need for a note saying that they have to be kept in order for the ruler calculation to work. This made the code extremely fragile and changing it could have far-reaching unintended consequences. Which is why I rebuilt it like I did - now all range calculations are handled by the classes encapsulating the two tables, while the tables as structured data for the use by external consumers are "sourced" from those classes but otherwise not used for any internal logic. The responsibilities are better separated within the range module, and external consumers are also better separated from the internal logic.
I'll also comment some specific changes I made to the code in a couple places. Also some "global" remarks:

Consistent indentation throughout the project is important :) 4 spaces is generally the most common one. It was all over the place in ranges.js
I've also added semicolons to end of all statements, that was likewise all over the place in the file. You need to decide on a standard for this and then stick to it; I suggest using semicolons :P
Speaking of a code style standard, I suggest using Prettier. It is a plugin for editors/IDEs (supports both VS Code and Eclipse) which takes care of code formatting for you according to its (very reasonable) opinions. That would allow you to just not worry about code style (though in some IDEs it must be manually run).
if/else and similar clauses should always have braces around their code even if it is just one statement, for better readability

@mjeffw @crnormand Pinging you guys for a review as well as some comments I made, no idea what the notification settings here are

Chris and I need to talk about these changes before merging. There's a lot that I agree with, but ultimately this is Chris' repo. Plus this is a bigger set of changes without prior input that I'm comfortable with. I was literally about to work on a large refactor (coincidentally implementing some of the same changes) and this makes me pause.
I thought you were going to work on a drop in replacement for the ADD for conditional injury?

What Jeff said.  We can't accept huge wholesale changes to the codebase.
I did the same thing when I started contributing to GCS.  I was so used to owning the code, and being the most experienced dev on the team (I've been using Java for 25 years), that I made large changes throughout Rich's code and made one large PR.
He rightly rejected it 😜
My suggestion to you is to make lot of small pull requests, focusing on a single feature/function for each.
Thanks for the suggestion on the prettifier.   Eclipse is giving me fits with its odd indenting.
Overall, I agree with your refactoring suggestions.   Jeff and I have lots of experience in this area.   You have to remember, this code was hacked together in 8 weeks, all while learning the language.  I took tons of shortcuts trying to get functionality out the door.   I didn't spend a lot of time refactoring code.
When I get back to my computer (maybe sometime after Christmas), I can go over all of the changes and we can discuss them further.

I thought you were going to work on a drop in replacement for the ADD for conditional injury?

Yeah, but then I opened the code and this caught my eye and I felt a need to do something here. Sorry for talking about it with Chris over DMs and leaving you out!

P.S. Chris and I are both senior developers with a lot of experience, but we have slightly different philosophies on writing code. I tend towards lingering over code to make it readable/extendible and "pretty" in the editor. Chris likes to get functionality out the door and will refactor later. As evident by our output -- I did the ADD and a few smaller contributions, everything else is Chris (mook generator, alternate character sheets, OtF rolls, range ruler, etc. etc.).

Excellent, we can gang up on Chris with our similar preferences then 😜
Anyway, I primarily made this PR as a case study to show my preferences and suggest where to go. I don't expect it to be merged without a good prior discussion and deliberation. I haven't implemented anything significant anyway.
I'd like to contribute here, because this seems to be the system I'll be using for my own campaigns and contributing seems like a better idea than keeping my own private fork. We'll see how it goes. I don't want to promise any commitments but I also don't want to push my own preferences and wishes, because in the end this is Chris' project and I'm already the third (if not 4th etc) chef in the kitchen :D

You have to remember, this code was hacked together in 8 weeks, all while learning the language. I took tons of shortcuts trying to get functionality out the door. I didn't spend a lot of time refactoring code.

Yes, absolutely, this is the reason why you have a working system and I don't 😁. So just go go go! But unfortunately, after a day of expending  my energy and enthusiasm at work, I can't muster the motivation to work on code that isn't nice and pretty. It doesn't bring me joy. So if I'll contribute I won't be able to resist cleaning up code I touch. Which is why I'll want to sync up properly with you guys before doing it.


How we approach engineering quality at GDS

There have been several attempts to document GDS's quality engineering approaches/practices, which are rooted in TDD, pair programming and continuous delivery. None of them have made it into the GDS way.
This document is the most complete attempt:
https://docs.google.com/document/d/1aPbXwDkNG3eJgrkIMm2TkMQJq4DyLlWorOA089DsjIk/edit
We should review this and try to add something to the GDS way that summarises current practices
### Tasks

These are great topics. To build on this, I was wondering if we could consider:

Static testing of work products is important to build quality at source - architecture, UI designs, Requirements, ACs. Efficiency of code and later validation depends on quality of inputs into development cycle.
Non functional attributes of quality : performance testing, security testing, accessibility testing, compatibility testing etc.
There are a few operational attributes of quality: Observability, RUM, Feature flagging, Canary releases, user research
How do we verify efficiency of our quality engineering activities - indicators, KPIs, reporting mechanisms
How do we cover all test pyramid layers. Unit test level is important part, but that's not the end of testing. We need specialised tasks like exploratory testing, functional integration testing, contract testing etc to prevent unknown - knowns (unaware of behaviour, but can exist in real usage) or unknown-unknowns (latent issues within our systems—problems we didn't even know could be problems or manifest when conditions line up just the right way) in the system.


feat(fabric): vault path structure modification

Description
[TBD] To support mixed-org
Acceptance Criteria
[TBD]

I'll take this issue

Currently add-new-organization, add-peer and ad-orderer operations have been tested


StopIteration: Checks done=3. Max checks allowed=3. Interval between checks=8seconds.

Which version of python are you using?
3.7, 3,8
What operating system and version of operating system are you using?
Ubuntu 18.x , Windows
What version of sewer are you using?
latest
What did you do? (be as detailed as you can)
Getting this error : StopIteration: Checks done=3. Max checks allowed=3. Interval between checks=8seconds.
I am getting this log and error
check_authorization_status_success
respond_to_challenge
respond_to_challenge_success
check_authorization_status
Error: Unable to issue certificate. error=Checks done=3. Max checks allowed=3. Interval between checks=8seconds.
I checked adding correct TXT record

I got this issue resolved. There was some issue in the digitalocean DNS server


please update the import path in v2

Please see https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher
With go modules, you can't simply tag v2.0.0 to release version 2. You should change the import path in order to allow both v1 and v2 to be used at the same time.

@cristaloleg Why did we released it as 2.0? There were no breaking changes

Yeah, that's what I was looking for

Thank you @gracenoah for pointing on an inconsistency 🎉

Sorry, there's actually one more thing necessary. You have to update the import path used in your own files. Ex:
https://github.com/allegro/bigcache/blob/ca9a59ef2ad95442436b6a0ed9f061e6a47e376a/server/server.go#L11
https://github.com/allegro/bigcache/blob/ca9a59ef2ad95442436b6a0ed9f061e6a47e376a/caches_bench/caches_gc_overhead_comparison.go#L9
etc.

Ahhhh...we've bigcache imports inside, tricky :D

After this is fixed I think it's best to release 2.0.1 because re-tagging releases can cause issues with package caches.

Yep, good point, 2.1.0 looks fine too

Any news?

Hi, you could rerelease the version 2.1, because it has an invalid version format of go modules, it must follow the semantic versioning, that is, X.Y.Z (not X.Y).
Thanks

@savsgio v2.1.1 https://github.com/allegro/bigcache/releases/tag/v2.1.1

Thanks 👍


fix: handle position not center

Description

fix: hue handle to being centered

Noticed the same bug as a few months ago
Screenshots

Before
After

Added another fix after I just noticed that the advanced controls handle was not centered either


Scheduler plugin's 'Score' results should be (weighted) random

Deterministic scoring makes the system more fragile. We can improve this by making the score random in the range [min score + 1, true score]. The reason to make the floor just above the minimum score is because we use the minimum score for nodes where there isn't room, which shouldn't really ever be selected.
See also:

#411

Goals

place pods on nodes that have space
prioritize slightly fuller nodes when selecting placement so that smaller
nodes can be downscaled more quickly

Current

Nodes are given a score solely based on resource usage. The score is roughly
min(% cpu free, % memory free). The issue is that this uniformly allocates pods
on nodes, making downscaling more difficult due to not having small nodes. In
other words, a nodes are equally good/bad choices to downscale.

Ideas

try to maintain two pools of nodes: one with nodes at relatively high usage
and another with nodes at relatively low usage. (Maybe 60%/30%)

this could be achieved by multiplying scores by something like
scale(nodeUsage) where scale is something like
this
(a two-peaked distributin)

bias against under-full nodes when scheduling

this could also be achieved by multiplying scores by something like
scale(nodeUsage) where scale is something like
this (a sigmoid)

assigning nodes a random score between (minimum score + 1, true score].
The range is half open because we use the minimum score to indicate a pod
should not be placed on a node.

use framework.CycleState to store state about all the nodes in the cluster.

Another idea re: randomness — we could use ScoreExtesnions.NormalizeScore to apply the randomness as a separate pass.


[End-to-End] MicroK8s: "Install Helm" redundant?

Describe the bug
IIUC the End-to-End MicroK8s step to Install Helm is redundant.
Output of kubectl get pods,akrii,akric -o wide
N/A
Kubernetes Version: [e.g. Native Kubernetes 1.19, MicroK8s 1.19, Minikube 1.19, K3s]
N/A
To Reproduce
Steps to reproduce the behavior:

Follow End-to-End instructions
Don't Install Helm
Do microk8s.enable helm3
For consistency: alias helm=microk8s.helm3
helm version

Yields: version.BuildInfo{Version:"v3.0.2", ...
Expected behavior
N/A
Logs (please share snips of applicable logs)
N/A
Additional context
Recommend:

Drop the "Install Helm" step
Retain "Enable Helm for MicroK8s"
Consider adding alias helm=microk8s.helm3

Thanks, @DazWilkin! I didn't realize you can enable Helm for MicroK8s without installing helm first. This is a great addition! Would you be interested in putting in a PR for this fix?

Thanks for the reply.
Sure! I'll do it tomorrow.


Fenny: Agile Development, 4 weeks

Learning Objectives

Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)

There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emoji's will help you prioritize
your study time and to measure your progress:

🥚: Understanding this material is required, it covers the base skills you'll
need for this module and the next. You do not need to finish all of them but
should feel comfortable that you could with enough time.
🐣: You have started all of these exercises and feel you could complete them
all if you just had more time. It may not be easy for you but with effort you
can make it through.
🐥: You have studied the examples and started some exercises if you had time.
You should have a big-picture understanding of these concepts/skills, but may
not be confident completing the exercises.
🐔: These concepts or skills are not necessary but are related to this module.
If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
yourself without getting distracted from the module's main objectives.

0. Developing HTML & CSS
Practice with the skills, tools, and workflows you will need to efficiently
develop websites written with HTML & CSS.

🥚 VSCode: you can ...

[x] use the LiveServer extension to launch an HTML page in the browser
[x] use autocomplete to begin a new HTML document, create new tags, and much
more
[x] use the HTML CSS Support and IntelliSense fo CSS class names
extensions to make writing HTML & CSS more efficient

🥚 Formatting HTML & CSS: You can ...

[x] use VSCode configurations to format your code on save
[x] use npm run format to format all the code in your repository

[x] 🥚 Linting CSS: You can use the npm run lint:css script to find
mistakes in your CSS, and you can fix the mistakes.
[x] 🥚 Validating HTML: You can use the npm run validate:html script to
find mistakes in your CSS, and you can fix the mistakes.
🥚 Browser Developer Tools: You can ...

[x] inspect the source code of a web page using the Sources tab
[x] find any part of the web page in the Elements tab of your Dev Tools DOM
inspector
[x] find the styles for any element in the Elements tab
[x] make temporary changes in a web page from the Elements tab to see how
they will look

1. Following Plans
Practice working together in a group to build small websites in incremental
steps according to a plan. You will be given final code, a detailed plan to
rebuild it, and will need to work as a group following the processes in
Planning and Collaborating.

[x] 🥚 Project Definition and Scope: As a group, you can agree on what you
are trying to build, and can clearly describe the project using a README
and a repository description.
🥚 Project Constraints: As a group you can define project constraints by
discussing your strengths, weaknesses and context. You can set these types of
constraints:

[x] External: constraints that come from outside your group
[x] Internal, Involuntary: constraints that come from within your group,
but your group did not decide to have.
[x] Internal, Voluntary: constraints your group decides on to improve the
quality of your development process and final software.

[x] 🥚 Communication Plans: You can work with your group mates to agree on
a communication plan to follow during development.
[x] 🥚 Communicating Challenges: During development you can discuss with
your group when ...

you are blocked and need help the agreed channels of communication.
your schedule or availability changes
you are having trouble getting along with each other

[x] 🥚 Using a Backlog: You can develop from a backlog of features
organized by priority:

must-have
should-have
could-have

[x] 🥚 Follow a Development Strategies: You can follow a development
strategy to understand the code required for must-have user stories.
[x] 🥚 Create Issues From a Dev Strategy: You can create issues for user
stories in your project based on the development strategy.
🥚 Retrospective: Your group can complete a retrospective to ...

[ ] assess how well you worked as a group
[ ] find ways to improve in the next project
[ ] compare your plan to the reality of developing your website

🐣 Claiming and Completing Issues: You can claim issues from the TODO
column of a project board and ...

[x] track your progress with the project board
[x] develop your code locally on a separate branch
[x] send a PR that passes CI checks and meets the requirements

[x] 🐣 Code Review: You can both review a group mate's PR, and
productively participate in a review of your own code.
[x] 🐣 Match a Design & Acceptance Criteria: When developing your tasks,
you can write code that matches the project's Wireframe and meets your
issue's Acceptance Criteria.

2. Writing Plans
Practicing writing your own plans as a group. You will be given only the final
code for HTML/CSS web pages, your group will need write a detailed plan for
rebuilding the website in small steps.

[x] 🥚 Write User Personas: As a group you can describing your site's
users with User Personas, and you can use the personas to plan your
website from the user's perspective.
[x] 🥚 Write User Stories: Given a working web page, you can describe it
with user stories and acceptance criteria for each user story.
[x] 🐣 Write a Backlog: After listing all the user stories for a web page,
you can organize them into a Backlog by priority: must-have,
should-have and could-have
[x] 🐣 Create a Prioritized Design: Using your backlog and the original
site as a guide, you can create a Wireframe of the site your group will
build. You can use different colors and comments to indicate a priority
for each component in the Wireframe.
[x] 🐣 Write a Development Strategies: You can translate your Wireframe
and Backlog into a Development Strategy for the must-have user stories.

3. Adapting Plans
Even the best plans are not perfect, it's not possible to know everything ahead
of time! You may be able to plan everything ahead of time when the web pages you
build are very small and you have the code ahead of time, but it's a whole
different thing when you need to build a larger web page over a longer period of
time.
In this chapter you will practice full Agile Development by developing a larger,
open-ended web pages and adapting your plans as you go. Your team will need to
make an initial plan, but the plan will change! Practice having regular meetings
with your group to review the website's progress, review your plan, and make any
changes in the plan that are necessary to keep the project on schedule.

[ ] 🐣 Adjusting the Backlog: As a group you can agree to changes in the
backlog when necessary.
[ ] 🐣 Adjusting the Design: As a group you can agree on changes to the
design during the development process when it becomes clear your old
design needs updating.
[ ] 🐣 Updating the Project Board: You can manage the project board by
adding, removing or updating issues when necessary. This includes changing
labels, milestones, or assignees when necessary.

TOP

Week 1
I Need Help With:
Reviewing our teamwork and helping us get things through, just in case we missed some steps in delivering the project results so we can learn to improve in the next project.
What went well?
Communicating within the team was quite smooth, we helped each other just in case there are missing assignments/issues and try to finish the project accordingly.
What went less well?
Not much ...
Lessons Learned
It is quite challenging to sync up the schedule and desire between the individual in the team, yet communication plays a key role in accomplishing the deliveries. Establishing clear and specific goals before delegating the assignments will help to accomplish the deliveries efficiently.
Sunday Prep Work
Will look back at this list and the class repo what we can read/do/improve in the meantime.

Reviewing our teamwork and helping us get things through, just in case we missed some steps in delivering the project results so we can learn to improve in the next project.

If you have any questions you can leave them as comment in your deliverable issue when you move it to Ready For Review.  Then your coaches will know what to look for when they review your repo

Week 2
I Need Help With:
I was wondering about the project definition and whether it's similar to the README file which summarizes the overall project as we did on the previous project (All about Trees)?
What went well?
Breaking down with the team member on project planning, what must have, should have, and could have. Collaborating and brainstorming on what element we should take out/add to the must-have page.
What went less well?
Not much ...
Lessons Learned
I was having a hectic week and it resulted in fewer hours of learning more about CSS, as I needed some time to understand how I can style CSS to my taste and not just copy the exact code.
Sunday Prep Work
As there is no class this Sunday, we will just be progressing on our project.

@FennyWilriani indeed, the project definition is part of the repo main README.md file, describing what the repo is about. This can be created at the beginning to make sure each time member understands the same goals..and then edited in the end to reflect the achieved result more precisely (with screenshots, tech stack, etc.)

Week 3
I Need Help With:
What went well?

Communicate with the team member regarding the project planning.
Copying the correct repo, along with the attributes necessary to create a repo of a group project (my first time in charge of doing it), and the group member are very helpful in reminding me of the details necessary.

What went less well?

Most of us are beginners in using bootstrap (but we really keen to learn), so the time constraint and technology are a real challenges here, and I really can see how we can be agile during this situation, as changing design from time to time to match my limited time and skill without straying far from the planning that has been designed.
Still definitely try to understand the BEM approach. Most likely will not apply it in the current project.

Lessons Learned

How to be more efficient in conducting a meeting with team members as not all of them has the privilege to have longer availability.
How to use bootstrap and still try to understand and learn how to use CSS overrides in bootstrap.

Sunday Prep Work
Try to progress and finish the project must-have.

Week 4
I Need Help With:
What went well?
Creating a subpage with HTML & CSS without framework, needs some more adjustment and reading yet I quite enjoying the process.
What went less well?
I think delegating tasks is not my strong suit while in charge of teamwork.
Lessons Learned
Adapt quickly when your plan needs to be adjusted. Working with framework was fun, yet it's indeed will not help you learn more about CSS and working its attributes.
Sunday Prep Work
Finalizing the last project and keep on practice with HTML & CSS.

@FennyWilriani which tasks do you find hard to delegate? maybe other team leaders can share their experience on their approach? regarding CSS, indeed, learning it more will actually also help in using a framework later on, like Bootstrap or Tailwind, as you already know how the properties work.

I find it more to my character, that I feel reluctant to burden the team with too much work, and it ends up with some members getting more active/work than the others, and this experience is part of a lesson learned to me as well :)


refactor: use synchronous file system APIs and other nits

Move from async to sync file operations. This is done because
for a small set of files/operations, sync is actually faster than
async in Node. Also the exists API is deprecated, but the
existsSync API is not
Move to single-quote imports where needed

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

These changes are going to conflict with some changes I have pending and I also disagree that this is a better approach. Closing for now.

I appreciate the desire to contribute but since this project is currently in great flux, I suggest that you raise an issue to discuss potential contributions before spending time in vane

@eladb Thanks for the suggestion, will do in the future. For this it seemed like a trivial enough change, and I'm ok with you rejecting it outright if you don't agree. It was just a thought that came to me while working through #4


Return a specific JSON node with a URL parameter

http://www.cleverna.me/article/My-Article-Title/format/json
{     "article": {       "My-Article-Title": {         "author": {           "name": "John Smith",           "email"<EMAIL_ADDRESS>       },         "title": "My Article Title",         "text": "
This is my article.
"       }     }   }
http://www.cleverna.me/article/My-Article-Title/format/json/return/author
{     "author": {       "name": "John Smith",       "email"<EMAIL_ADDRESS>   } }

Implemented, but works a bit differently due to changes in the way JSON is returned. Here's how it works:
http://www.cleverna.me/article/My-Article-Title/format/json
{ "article": { "My-Article-Title": { "author": { "name": "John Smith", "email"<EMAIL_ADDRESS>}, "title": "My Article Title", "text": "
This is my article.
" } } }
http://www.cleverna.me/article/My-Article-Title/format/json/return/author
{ "name": "John Smith", "email"<EMAIL_ADDRESS>}
Note that the requested node's content is returned without the node name as a wrapper, unlike the example in the first comment.


Trouble running on Linux

Hello. I am trying to deploy my website onto a Linux VM (Redhat 8).  The website works as expected when run locally on my Windows machine, but deploying to Linux has made an issue I resolved previously resurface. I can't quite confirm that this is an issue with vite-plugin-cesium-build or cesium-use, but I am fairly confident it is one or the other. Specifically, when I run my vite application, I get:
Cesium.js:1 Uncaught SyntaxError: Unexpected token '<' (at Cesium.js:1:1)

cesium-use.js?v=54bcb6f0:763 Uncaught TypeError: Cannot read properties of undefined (reading 'WHITE')
    at cesium-use.js?v=54bcb6f0:763:20

I believe that the second error is caused by the first, and its due to the fact that Cesium is not being bundled properly and HTML is being referenced where it shouldn't be. I saw this on Windows a few weeks ago, and I fixed it by changing my vite/typescript configuration settings, specifically my module and moduleResolution:
Here is my tsconfig.app.json:
{
  "compilerOptions": {
    "composite": true,
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
    "target": "ES2020",
    "useDefineForClassFields": true,
    "module": "ESNext",
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "skipLibCheck": true,

    /* Bundler mode */
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "moduleDetection": "force",
    "noEmit": true,
    "jsx": "preserve",

    /* Linting */
    "strict": false,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true
  },
  "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
}

Here is my tsconfig.node.json:
{
 "compilerOptions": {
   "composite": true,
   "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
   "skipLibCheck": true,
   "module": "ESNext",
   "moduleResolution": "bundler",
   "allowSyntheticDefaultImports": true,
   "strict": true,
   "noEmit": true
 },
 "include": ["vite.config.mts"]
}

Here is my tsconfig.json:
{
  "files": [],
  "references": [
    {
      "path": "./tsconfig.app.json"
    },
    {
      "path": "./tsconfig.node.json"
    }
  ]
}

And here it my vite.config.m.ts:
import Components from "unplugin-vue-components/vite";
import Vue from "@vitejs/plugin-vue";
import Vuetify, { transformAssetUrls } from "vite-plugin-vuetify";
import ViteFonts from "unplugin-fonts/vite";
import AutoImport from "unplugin-auto-import/vite";
import cesium from "vite-plugin-cesium-build";
import CesiumUseResolver from "cesium-use/resolver";

// Utilities
import { defineConfig } from "vite";
import { fileURLToPath, URL } from "node:url";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    Vue({
      template: { transformAssetUrls },
    }),
    // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
    Vuetify(),
    Components(),
    ViteFonts({
      google: {
        families: [
          {
            name: "Roboto",
            styles: "wght@100;300;400;500;700;900",
          },
        ],
      },
    }),
    AutoImport({
      resolvers: [CesiumUseResolver()],
    }),
    cesium(),
  ],
  define: { "process.env": {} },
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
    },
    extensions: [".js", ".json", ".jsx", ".mjs", ".ts", ".tsx", ".vue"],
  },
  server: {
    port: 3000,
  },
});

I have tried changing the "module" and "moduleResolution" values to a few others and have had no success. Other than that I am kind of stumped. Do you have any idea or insight on how to fix? Here is my npm list, if that helps:
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
and I am running on Node version 20.11.0.
Thank you in advance for any help you can provide!

The website works as expected when run locally on my Windows machine, but deploying to Linux has made an issue I resolved previously resurface.

I don't think the difference of OS will cause the problem. Guess the issue is caused by the difference between production and development. Could you try vite build and vite preview, then confirm that it happened in production?
Here is a check list:

Check dist/cesium-package to confirm the statics and Cesium.js were copied correctly.

Could you show me your index.html? Looks like the problem is about setBaseUrl and importCesium.


Nano RP2040 Connect Micropython MLC example OSError: [Errno 2] ENOENT

Describe the bug
When running the LSM6DSOX IMU MLC example, lsm6dsox_mlc.py, there is a message stating that it may be required to copy lsm6dsox to the RP2040 to run the example and when doing so, the script fails with the following error:
Traceback (most recent call last):
  File "<stdin>", line 28, in <module>
  File "lsm6dsox.py", line 136, in __init__
  File "lsm6dsox.py", line 189, in load_mlc
OSError: [Errno 2] ENOENT
MPY: soft reboot
MicroPython: v1.17-omv-r22 OpenMV: v4.2.3 HAL: v1.3.0 BOARD: Arduino Nano RP2040 Connect-RP2040
Type "help()" for more information.
>>>

If I remove the lsm6dsox.py window from the OpenMV IDE screen, the example seems to run without issue.
It appears the wrong file is being copied to the RP2040 for this example.
To Reproduce
Steps to reproduce the behavior:

Go to OpenMV IDE with the Nano RP2040 Connected connected,
Click on File->Examples->Arduino->Nano RP2040->Sensors->
Scroll down to lsm6dsox_mlc.py
Run the script
An Import Helper - OpenMV IDE pop-up window will appear stating:
Module "lsm6dsox" may be required to run your script
Click Yes and the file lsm6dsox.py is copied to the board
The error will be seen once the script runs
NOTE: This appears to only occur the first time the script is run after a firmware install.
The script seems to run as expected on subsequent tries.

Expected behavior
No error seen during starting of script and a prompt in the Serial Terminal showing "MLC Configured..." should appear.
Screenshots

Please complete the following information

IDE version: 2.9.0
Firmware version: 4.2.3
Board: Arduino Nano RP2040 Connect
OS: Windows 10

Ibrahim, please rename the example script in our repo. I will then update the examples with the new firmware release.

I can rename it, but the issue is it's copying the example not the library from libraries.

@iabdalkader
Yes, I forgot to add the step for the model but I did find it and run it.
Initially I downloaded the lsm6dsox.py lib from the following MicroPython link since I was not able to find it elsewhere.
Note: They call the basic lsm6dsox example lsm6dsox_basic.py.  The way it is listed in OpenMV IDE both the lib code and the example are the same name.
https://github.com/micropython/micropython/tree/master/drivers/lsm6dsox
Perhaps this is why the example started to work.
Also, there is a second pop-up that appears after it asks to download an update to the lsm6dsox.py on the board which asks if the user want to update the file on the PC.

If I do this with the lsm6dsox.py lib code on the board, and then restart the IDE, I do not see the request to download the file to board or the error.

Renamed the example to 'lsm6dsox_basic.py`

I renamed the lsm6dsox.py example to lsm6dsox_basic.py under the 'share\qtcreator\examples\Arduino\Nano-RP2040\01-Sensors' OpenMV IDE folder, and then:

Started OpenMV IDE
Connected to the Rp2040
Reflashed the FW on the RP2040 from the IDE including erasing the internal mem
Safe Removed and re inserted the RP2040 USB cable
Copied the lsm6dsox_vibration_monitoring.ucf model file to the RP2040
Reran the lsm6dsox_mlc.py example and had the IDE copy the lsm6dsox driver to the RP2040.
This did result in what looks like the driver code being copied to the board but did result in an error in the IDE:

Traceback (most recent call last):
 File "<stdin>", line 28, in <module>
 File "lsm6dsox.py", line 136, in __init__
 File "lsm6dsox.py", line 189, in load_mlc
OSError: [Errno 2] ENOENT
MPY: soft reboot
MicroPython: v1.17-omv-r22 OpenMV: v4.2.3 HAL: v1.3.0 BOARD: Arduino Nano RP2040 Connect-RP2040
Type "help()" for more information.
>>>

It stops at the following code from line 129 in lsm6dsox.py file from the board
	def read_accel(self):
		mv = memoryview(self.scratch_int)
		f = self.accel_scale
		self.i2c.readfrom_mem_into(self.address, _OUTX_L_XL, mv)
		return (mv[0] / f, mv[1] / f, mv[2] / f)

If I click on the lsm6dsox_mlc.py example window in the IDE and run it again, it seems to work just fine.
It does prove that the correct lsm6dsox.py driver does get copied to the board with the lsm6dsox.py example named lsm6dsox_basic.py.

Thanks for testing! I already renamed it in the other repo, and this should be fixed in the next update. FYI after copying a file to the storage, you need to reset the cam. The IDE should probably mention that.

Yeah, it just ran and produced the error after I clicked ok to copy the file to the board.  It did not stop the run process after copying the file.

This one needs to be fixed @kwagyeman. The cam doesn't see new files before a reset, maybe force a reset ?

You know actually I just realized that this library is already built-in (frozen) in the Nano RP2040 firmware, the IDE just needs to learn that and ignore copying it. You shouldn't need to copy it to the file system at all.

Yeah, the IDE won't ask unless you name an example the same as a library.

It's true, it does not ask to copy. I guess this issue is fixed.


BUG: Add missing import of 'errno' to runtests.py

errno was not being imported, but errno.ENOENT is used in the function run_asv(), in the except block of this statement:
    try:
        return subprocess.call(cmd, env=env, cwd=cwd)
    except OSError as err:
        if err.errno == errno.ENOENT:

The linter is complaining about the location of the import statements. I followed the pattern existing in the file, as it looks like the arrangement is intentional.
The Windows checks timed out, which they seem to be doing all the time now.

thanks Warren


Change database from SQLite to MySQL

Change the database on the deployed website, not the development branch.


BOM parsing issue

Hello,
Expected
Some utf-8 files begin with a BOM (https://stackoverflow.com/questions/50130605/python-2-7-csv-file-read-write-xef-xbb-xbf-code) like the swebpage https://copytop.com/.
Problem
curl-cffi seems unable to decode it.
  File "/home/bader/code/python3/lib/python3.11/site-packages/curl_cffi/requests/cookies.py", line 47, in text
    return self.content.decode(self.charset)
           │    │       │      │    └ 'utf-8'
           │    │       │      └ <curl_cffi.requests.cookies.Response object at 0x7f1885012790>
           │    │       └ <method 'decode' of 'bytes' objects>
           │    └ b'\xef\xbb\xbf<!DOCTYPE html>\r\n<html lang="fr">\r\n   <head>\r\n      <!--[if IE]>\r\n      <meta http-equiv="X-UA-Compatib...
           └ <curl_cffi.requests.cookies.Response object at 0x7f1885012790>

Exception: 'utf-8' codec can't decode byte 0xe8 in position 115419: invalid continuation byte

Hmm, suprised to see there are web pages with BOM. Anyway, you can use your own decoding.
text = rsp.content.decode("utf-8-sig")

# or delete it
text = rsp.content.replace(b"\xef\xbb\xbf", b"").decode()

Fixed in 0.5.10b3


Add log for reports

In a similar way as we expose a log for change detection and tags we should let users 'debug' what runs are filtered into a report.

Implemented.


add stax support

this request is pending for almost 2 months now, any update? look forward to your reply.


The editor gets really really slow

Need to find out why the editor gets so slow. It might be the undo buffer filling up, or it might be all the TinyMCE instances. It can become unusable on my laptop.
It's fine on my home PC, which makes me think the bottleneck is rendering. I need to investigate with the chrome developer tools.

You can make this happen by repeatedly switching between two variables on the order of 20 times.

v2 doesn't seem to suffer from this any more.


Update Get-SPEnterpriseSearchService.md

Format example

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Get-SPEnterpriseSearchService.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Using the #messages slot, the validationVisible property value is incorrect

Reproduction
https://formkit.link/2c7e49e90ef749a7232ef0a9fa0c05f9
Describe the bug
Check some checkbox option and submit.
Environment
• OS: WIN10
• Browser Chrome 99.0.4844.51
• Version < latest

@justin-schroeder
Sorry, I don't understand this property.It returns true whether the item has a value or not.I think this property should be the prompt messages if there is a value, of course I can decide for myself. This property is of type = "group | list"?
https://formkit.link/51b317a076f731b583ba2a2cbfceedee

There are 2 things happening here in FormKit:

Validation messages are always created/removed from context.messages whether or not they are shown.
Validation messages are then displayed when validationVisible is true.

Imagine:

{{ message }}

This is essentially what is happening — the value of validationVisible is determined based on the context.state in conjunction with the validation-visibility prop. Hope that makes more sense 👍


Enable shorcuts to keys feature

Summary of the new feature/enhancement

Proposed technical implementation details (optional)

Working on it: #3290

will be in .20, closing as dup against #3290


created codeql-analysis.yml to work on the security patch GitHub side

A new file is added to check for variabilities for the project found 1 failing. The code works fine.


Fix bundle by modifying babel configuration

Switch @rollup/plugin-babel/babelHelpers option from bundled to runtime and include regenerator-runtime to include async/await polyfill but increase the bundle size just as needed.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bugfix for the rendering of tags that have a namespace but no other attributes.

Due to a mixup with primed and non-primed variable names (as and
as'), if you have an element with a namespace but no attributes,
such as SVG.g [] [ ... ] it was rendering as: <gxmlns="...".
This commit fixes that behaviour.

https://github.com/purescript-halogen/purescript-halogen-vdom-string-renderer/releases/tag/v0.3.1

Thanks for the (incredibly fast) publish! :-D


Project/Scene lists don't load after authentication

Project list is not loaded when you enter the app from the project list url (library/projects/list). You have to reload to view your projects.
Reproduction:

navigate to project list page
log out
reload page
log in
see that projects are not listed unless you reload the page or navigate away from and back to the project list page

Same thing happens on the scene list page.

This is no longer an issue now that we do auth on a separate route.


Ebooks pr

wait what, does this really ping everyone?
If so I'm sorry everyone. @stjepanjurekovic please delete this issue.

Is this ok now?

I think it didn't mention all of them. You can merge it

Wait, too many errors. I'll push it here.


Visual PIDS Editor

Easily edit JCM PID templates from within Minecraft!

To Do:
Main thingy: See why stuff is broken now for some reason (doesn't launch anymore)

Redo preview scaling overall to be based on GUI scale
Make the GUI better (add frame to preview)
Make text change color based on the value of the color field in the PID template json
Change clock to Minecraft text
Make mcmeta stuff work (?)

I think we should obtain the preset from PIDSPresetManager instead instead of parsing the json manually again, then we have a separate "save" screen that allows you to add to any resource pack (Where folders in the resourcepack is listed), or they can export to a new pack

I feel like showing all save options rather than just the one you clicked edit on is a bit too confusing. Maybe just have a button on the preset screen to create like a new preset or something, and as for editing existing presets I guess when one tries to close the screen we can display the save screen you were talking about, but just with a save button to save to the one you're editing, or export as new (which would add the preset you've edited as-is to a new RP, so I guess a new screen where it could ask you for the pack name and stuff too).

Yeah it's not good UX, but to have a Save button we need to know where the preset comes from so we can save it directly.
It should be possible to loop through packs with ResourcePackManager then get the content within, which should maintain maximum compatibility with really any other stuff. The only problem is it's not mapped.
I took the other approach to loop through all folders in the resource pack folder from the MC Directory directly. (So it at least compiles on Forge) but that kinda cuts off compatibility and consistency with anything in-game
So for example VPE may show different preset settings from what's actually in-game, some mods encrypts the file so they won't be readable at all, server-resource-pack also need to be handled, and some mods changes the resource-pack folder entirely to something else.
So it would be either:

Map resource pack related stuff to Minecraft-Mappings
Have a slightly worse UX (Which I personally think is a small enough cost to pay, but that's subjective :P)
Continue with the current way, reduces mod/server compatibilities


2024 - Projection data missing?

Hey,
Loving the data! Have been looking through the 2024 projection data and noticed that only week 1 has any data.
Is this intentional?

@RCookson90 Thx for the feedback. Looks like the script for projections has not been working as it should. I adjusted it and re-run the script so now should all the projection datasets for 2024 be updated and correct.


Spammers issue

Hi what would happen if a hacker put their spammer bot to write over millions of messages. Please explains.

Hi @khmerforce
The bot would likely be throttled: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-resources-bot-framework-faq?view=azure-bot-service-4.0#rate-limiting
If the concern is for your bot, you should be able to use similar ddos protection mechanisms as what you would use for any api or website.
Please direct questions to Stackoverflow. The Bot Framework Team monitors StackOverflow for questions, and prefers to use the github repositories for bug reports and feature requests.


refactor(mixins): add mixin for text overflow and update components

fix #1649

Deploy preview for pf-next ready!
Built with commit 073a6ceb2c8a8d2d3ea5330c1d656300fb6eb2a1
https://deploy-preview-1650--pf-next.netlify.com

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Crash when passing nil as a password on PDFDocument creation

Hi and first of all thanks for the work!
I encountered an issue while using the library : when I tried to create a PDFDocument instance for a file without a password, my first attempt was to call PDFDocument(filePath: path, password: nil), which caused my app to crash with mysterious error messages.
I managed to fixed it by calling PDFDocument(filePath: path, password: "").
This should be either stated clearly in the docs (maybe I've missed it?) or fixed in the code.
Cheers!

@CKzu that is very strange, the default implementation of PDFDocument without a password (PDFDocument(filePath: path)) simply calls PDFDocument(filePath: path, password: nil). So nil should not be giving you any issues (in theory). Can you paste the crash log?
Additionally, you can take a look here at how opening a PDF is handled. The only time it will send you a CGPDFDocumentError is if the file is encrypted and no password is provided.

I modified the document unlocking logic a littler bit in the latest build. Give it a try, if you are still having issues, feel free to re-open.


[SPARK-22916][SQL] shouldn't bias towards build right if user does not specify

What changes were proposed in this pull request?
When there are no broadcast hints, the current spark strategies will prefer to building the right side, without considering the sizes of the two tables. This patch added the logic to consider the sizes of the two tables for the build side. To make the logic clear, the build side is determined by two steps:

If there are broadcast hints, the build side is determined by broadcastSideByHints;
If there are no broadcast hints, the build side is determined by broadcastSideByConfig;
If the broadcast is disabled by the config, it falls back to the next cases.

How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

Test build #85449 has started for PR 20099 at commit e4b63f5.

Test build #85449 has finished for PR 20099 at commit e4b63f5.

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/85449/
Test FAILed.

Test build #85458 has started for PR 20099 at commit 2e0007d.

Test build #85458 has finished for PR 20099 at commit 2e0007d.

This patch fails to build.
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/85458/
Test FAILed.

Test build #85459 has started for PR 20099 at commit a171f29.

Test build #85459 has finished for PR 20099 at commit a171f29.

This patch fails due to an unknown error code, -9.
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/85459/
Test FAILed.

retest this please

Test build #85471 has started for PR 20099 at commit a171f29.

Test build #85471 has finished for PR 20099 at commit a171f29.

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

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

Merged build finished. Test PASSed.

Test build #85484 has started for PR 20099 at commit 41ba559.

Test build #85486 has started for PR 20099 at commit 4080bb1.

Test build #85484 has finished for PR 20099 at commit 41ba559.

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/85484/
Test PASSed.

Test build #85486 has finished for PR 20099 at commit 4080bb1.

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/85486/
Test PASSed.

Thanks! Merged to master.

a late LGTM!


Strange scroll behavior of ListView which has TextFormField with maxLines 2

Is there an existing issue for this?

[x] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Run the sample code below
Tap TextFormField and check the keyboard is shown
Keep your finger on the TextFormField and scroll outside TextFormField with another finger, then take your finger off which is used for scrolling

Expected results
Be able to enter text or scroll smoothly when scrolling outside TextFormField while keeping the tap on TextFormField.
Actual results
Cannot tap TextFormField again and scrolling is not smooth unless I have to restart the app.
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: false,
      ),
      home: const HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => HomePageState();
}

class HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView(
        padding: const EdgeInsets.all(16),
        keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag,
        children: [
          TextFormField(
            maxLines: 2,
            decoration: const InputDecoration(hintText: "Input text with maxLines more than 2"),
          ),
        ],
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/125345277/b2b9ebd3-9fa6-49cf-8c54-3e2ba25acaac

Flutter Doctor output
Doctor output
[!] Flutter (Channel stable, 3.13.2, on macOS 13.4.1 22F770820d darwin-x64, locale ja-JP)
    • Flutter version 3.13.2 on channel stable at /Users/shohei/development/flutter
    ! Warning: `dart` on your path resolves to /usr/local/Cellar/dart/2.18.6/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/shohei/development/flutter. Consider adding
      /Users/shohei/development/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ff5b5b5fa6 (7 days ago), 2023-08-24 08:12:28 -0500
    • Engine revision b20183e040
    • Dart version 3.1.0
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/shohei/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.81.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.70.0

[✓] Connected device (4 available)
    • Pixel 4a 5G (mobile) • 16051JECB02445            • android-arm64  • Android 12 (API 32)
    • Shmia (mobile)       • 00008020-000E31680243002E • ios            • iOS 16.6 20G75
    • macOS (desktop)      • macos                     • darwin-x64     • macOS 13.4.1 22F770820d darwin-x64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome 116.0.5845.140

[✓] Network resources
    • All expected network resources are available.

Hi @shm40. Thanks for filing this. I can't seem to reproduce this on my end. I'm attempting to reproduce on an iPhone 14 emulator an the scrolling seems to work very fine. Can you check this out or provide more information on the devices you are experiencing this on or the other reproduction steps that might be left out.
https://github.com/flutter/flutter/assets/53122008/618af77d-d4cc-4ad1-aad8-5e7b9f172636

Could you please test on a physical device? I am using an iPhone X.
And I think it cannot be reproduced by an simulator because the problem occurs when scrolling with one hand while keeping the other finger on TextFormField. (Sorry if my English is hard to understand...)

Thanks for responding. I understand you now. I tested on an iPhone X (16.6) and can't seem to reproduce as well. Not sure if this is device-specific, are you able to test on a physical iPhone to see if this reproduces?
https://github.com/flutter/flutter/assets/53122008/802b0aa4-a6aa-45e1-b0e4-3bf1a0cc988f

Thanks for testing on a physical device. I found that the issue does not occur on iPhones but I experienced the issue on an iPad. Can you test on iPad?

Hi @shm40. Thanks for confirming this. I don't have a physical iPad to test this presently. Tested on physical Android and IPhone but this issue doesn't seem to reproduce, per this https://github.com/flutter/flutter/issues/133743#issuecomment-1703686490, it seems to reproduce on an iPad.

Thanks for testing on multiple devices but I hope you will be sure that this issue can be reproducible by any means.


POST IDEA: Difference between KaTeX and MathJax

http://nbviewer.ipython.org/gist/dhermes/ae0e8970c12c64545457
vs.
https://blog.bossylobster.com/2013/08/some-fibonacci-fun-with-primes.html

Meh


[.Net SDK, Skype, Proactive messages] How to initiate proactive message from the bot?

I am using the bot flat form provided here and it works well for me, going forward how can I use the bot to initiate a chat using a hard coded ID ?

I assume this is resolved now, if not please open a new issue


Add workaround for wrong config path

Workaround for bug in Toran Proxy where config file path is hardcoded.

Thank you to contributing :)


Can I use react-native-mmkv with redux toolkit

I want to keep the data in mmkv storage and redux storage similarly.

yes


fix react element warnings

I have only been able to find one of these so far, in the error screen, but need to run a more complete version of the release tests and watch the console.


Cannot read property 'onSourceEstablished' of undefined

jsmpeg.min.js:1 Uncaught TypeError: Cannot read property 'onSourceEstablished' of undefined
at new AjaxSource (jsmpeg.min.js:1)
at WASM.loadFromFile (jsmpeg.min.js:1)
at new Player (jsmpeg.min.js:1)
at (index):14
AjaxSource @ jsmpeg.min.js:1
WASM.loadFromFile @ jsmpeg.min.js:1
Player @ jsmpeg.min.js:1

How did you call JSMpeg?

I call JSMpeg this way:
var url = 'ws://'+document.location.hostname+':5000/';
var player = new JSMpeg.Player(url, {
canvas: canvas,
autoplay:true,
});

actually, problem is here:
JSMpeg.Source.Ajax = function() {
"use strict";
var AjaxSource = function(url, options) { ==> called by
WASM.prototype.loadFromFile = function(url, callback) {
this.onInitCallback = callback;
var ajax = new JSMpeg.Source.Ajax(url); ==> here is no 'options' parameter provided!
ajax.connect(this);
ajax.start()
};

This seems to be a problem with loading the .wasm binary via Ajax - which should not happen in production, as this binary is inlined into the jsmpeg.min.js.
Are you using the official build from here: https://github.com/phoboslab/jsmpeg/blob/master/jsmpeg.min.js?


Fix syntax error for pod monitor resource

Please provide a description of this PR:
When applying the pod monitor custom resource definition, this is the error:

The root cause is because the original author used https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config syntax, instead of
https://docs.openshift.com/container-platform/4.10/rest_api/monitoring_apis/podmonitor-monitoring-coreos-com-v1.html#spec-podmetricsendpoints-metricrelabelings-2 syntax

Hi @luong-komorebi. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test


UI-issue wis2box-brazil

The UI for Brazil is displaying the following issue:

I noted that the following call is made by the map which returns 403 forbidden:
http://wis2bra.inmet.gov.br/oapi/collections/urn:x-wmo:md:br-inmet:surface-based-observations.synop/items?f=json&datetime=2024-01-09T12:00:00Z%2F..&wigos_station_identifier=0-76-0-2915601000000514&limit=321
While this API-call works successfully:
http://wis2bra.inmet.gov.br/oapi/collections/urn:x-wmo:md:br-inmet:surface-based-observations.synop/items?f=json&datetime=2024-01-09T12:00:00Z&wigos_station_identifier=0-76-0-2915601000000514&limit=321
I see two issues:
Why does the API return 403 forbidden when datetime is formatted differently ?
Why does the UI give datetime=2024-01-09T12:00:00Z%2F.. as input ?

I think the map is asking for a time range.  It appears as if the /.. in the datetime parameter is causing issues.  More examples:

works: http://wis2bra.inmet.gov.br/oapi/collections/urn:x-wmo:md:br-inmet:surface-based-observations.synop/items?f=json&datetime=2024-01-09T12:00:00Z/2024-01-09T13:00:00Z&wigos_station_identifier=0-76-0-2915601000000514&limit=321
403: http://wis2bra.inmet.gov.br/oapi/collections/urn:x-wmo:md:br-inmet:surface-based-observations.synop/items?f=json&datetime=../2024-01-09T13:00:00Z&wigos_station_identifier=0-76-0-2915601000000514&limit=321

The logs provided by Jose show there the API is crashing:

The error is caught at line 329 of elaticsearch_.py - something goes wrong parsing the OAF datetime query. Possibly an issue from updating the backend to elasticsearch 8?

The issue is not specific to the API.  Anytime .. is passed in the URL, a 403 is the result. Example: http://wis2bra.inmet.gov.br/?foo=..&
Infact, the issue is not specific to wis2box proper (thanks @webb-ben).  Example: https://portal.inmet.gov.br/?foo=..&
It looks like there is a ProxyPass or Apache front end that is causing this behaviour.

I've reported the issue to Jose, as there is nothing to fix for this issue in our release, I will remove the sprint-014 milestone


Don't assign new doc id when udpate requires no clean up and vector position is unchanged

Background

We have decided that updates to the inverted index will replace the entire object, so that deletes can happen async
Currently we always do that strategy, even if the update would not lead to any deletes on the inverted index
As a side-effect adding (only) a ref requires a full-reindex of the object, including a reindex in the vector index. This makes batch-ref imports much slower than they could be

Idea
Whenever we are sure that an update would not lead to an altered vector position and would not require deletions of the inverted index, we could treat it as an "extend only" and not alter the doc id. This should make batch ref imports considerably faster.

Similarly to the above classifications are currently slowed down by their updates as well. The potential fix mentioned above might also work for classifications, since they are also an "extend-only" operation. The only thing we write in classifications are the new cross-ref and the classification meta info. Neither of which would require cleanup in the inverted index or reindexing in the vector index, so we could skip them both.

Adding @michaverhagen and @laura-ham as stakeholders for this.

Adding @michaverhagen and @laura-ham as stakeholders for this.


feat: 🎸 Remove classic tickers features

Description
Remove classic ticker support
Breaking Changes
🧨 Removes asset.claimClassicTicker method
JIRA Link
DA-545
Checklist

[x] Updated the Readme.md (if required) ?

:tada: This PR is included in version 20.0.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


MINOR: fixes typos

Hey Kevin! I didn't notice them at all, thanks a lot for this PR!

Thank you for the amazing library - really saving me a lot of time even though I'm a python noob


Dropdown off screen using mobile

When I click the dropdown for the first time, the options are off the screen. Clicking it a second time, the options are displayed correctly.
First Time

Second Time

It happens because it doesn’t have enough space in any side, soon it will be replaced by a css only implementation