Sharing entire editor content with new client

Part of the documentation?
Working with a database.
Hard to understand, missing or misleading
Every time a new client connects to the same room on the WebSocket, you want them to have as initial state the same content as all the other active users. After that, you only want to broadcast updates through the WebSocket connection. However, with the current debounce, if a new client connects and they fetch the data from the editor, it's possible that they are missing some words that the other clients added in the meantime. At least, that's how I'm interpreting it, since WebSockets are only used for sending updates, not the entire editor content. Is there any way to share the entire editor state when a new client connects (that's fully up-to-date), rather than only the updates after a client connects?
Edit: with fetching the data from the editor, I mean fetching it from the database.
Additional context
A video where you can see what I mean:
https://user-images.githubusercontent.com/62772323/216765975-ca5ababd-14ad-4df6-81c6-788cc0be32c3.mp4

hey @wouter-deen, without seeing your code, it looks like the problem has the same cause as this one: https://github.com/ueberdosis/hocuspocus/issues/509
It's important to work with the ydoc on the server (see extension-database, https://tiptap.dev/hocuspocus/api/extensions/database), and not to set the content directly. If you still have issues, please post the server and provider part.

Hi Jan, thank you for your reply. I do not believe that this is the problem. The example on the TipTap website also does not have a database connected to it (as can be seen in the backend code), however, there the entire content of the editor gets sent to a new user. Did they just leave the database part out, or should that work out of the box?
For simplicity's sake, I removed the database in the code below. This still yields me the same problem as can be seen in the video that I posted in the original message. Please note that this code is running in NextJS and the TextEditor component is imported using dynamic imports with SSR disabled. This is because NodeJS does obviously not support WebSockets, which prevents SSR.
export default function TextEditor({ courseId, topicId, w, maxW, defaultContent }: EditorProps) {
  const {data: session} = useSession();
  const user = session?.user;
  const router = useRouter();

  const [editorContent, setEditorContent] = useState(null);
  const [status, setStatus] = useState();
  const [, updateState] = useState<{}>();

  /**
   * Method for re-rendering components after typing or moving the cursor. The editor does not update itself after
   * calling a function on it (e.g. toggleBold(), due to the usage of the useEffect hook for setting the editor in a useState.
   */
  const forceUpdate = useCallback(() => updateState({}), []);

  const ydoc = useMemo(() => {
    return new Y.Doc();
  }, []);

  const websocketProvider = useMemo(() => {
    return new HocuspocusProvider({
      name: process.env.NEXT_PUBLIC_INSTANCE_NAME + router.query,
      url: "wss://editor.heatwav.es",
      document: ydoc,
      connect: false,
      token: "token"
    });
  }, [ydoc]);

  // Connect to websocket
  useLayoutEffect(() => {
    if (websocketProvider.status == WebSocketStatus.Disconnected) {
      websocketProvider.connect();
    }

    return () => {
      if (websocketProvider.status == WebSocketStatus.Connected) {
        websocketProvider.destroy();
      }
    };
  }, []);

  const extensions = useMemo(() => {
    return [
      StarterKit.configure({
        codeBlock: false,
        history: false
      }),
      Highlight,
      Underline,
      Color,
      TextStyle,
      Superscript,
      Subscript,
      CharacterCount,
      Image,
      Youtube.configure({
        interfaceLanguage: router.locale,
        nocookie: true,
        ivLoadPolicy: 3,
        modestBranding: true,
      }),
      Link.configure({
        openOnClick: false,
      }),
      CodeBlockLowlight.configure({
        lowlight
      }),
      Collaboration.configure({
        document: websocketProvider.document
      }),
      CollaborationCursor.configure({
        provider: websocketProvider,
        user: {
          name: user?.name
        }
      }),
    ];
  }, [ydoc]);

  const [editor, setEditor] = useState<Editor | null>(null);

  useEffect(() => {
    const editor = new Editor({
      extensions,
      onTransaction({editor}) {
        setEditorContent(editor.getHTML());
        forceUpdate();
      },
      content: editorContent,
    });

    setEditor(editor);

    return () => {
      editor?.destroy();
      setEditor(null);
    };
  }, [extensions]);

  useEffect(() => {
    // Update status changes
    websocketProvider.on('status', event => {
      setStatus(event.status)
    })
  }, [])

  return (
    <Box borderWidth="3px"
         borderColor={useColorModeValue("gray.200", "whiteAlpha.200")}
         rounded="md"
         maxW={maxW}
         w={w}
    >
      <Toolbar editor={editor} courseId={courseId} topicId={topicId}/>

      <Box px={4} py={4}>
        <EditorContent editor={editor} spellCheck="true"/>
      </Box>

      <BottomBar editor={editor} status={status}/>
    </Box>
  )
}

And the server code:
import { Server } from '@hocuspocus/server'

const server = Server.configure({
  name: 'heatwaves-ws-editor',
  port: 80,
  timeout: 30000,
})

console.log("HocusPocus server started")
server.listen()

Unfortunately, I've never used next SSR, but what you want to achieve should work out of the box. The tiptap website also uses a database in the backend which stores to a PostgreSQL database, but regardless, even without a database the sync should work completely.
I'm not sure if your useMemo / useEffect calls are correct, maybe you can check this out, I think it's related to SSR: https://discord.com/channels/818568566479257641/841708462500085810/1021183143371362437

Thanks a lot! At least now I know that it should sync the whole editor's content out of the box once a new client connects, even without a database connection, and that the problem is likely with my useEffect-like React calls.


Update zappr.yaml

Update zappr.yaml

👍

👍

Coverage remained the same at 92.38% when pulling 7d1a2d85a183d35449051b7ca027e4b4e0024a96 on daryadedik-patch-1 into 8c00437c408aa133fbcb5035fb3e86aa467079ca on master.

👍


Init

👷 Deploy Preview for chic-heliotrope-3d00a8 processing.

Name
Link

🔨 Latest commit
77a20fa54882476936d3fed6c5b694cc78ba74d2

🔍 Latest deploy log
https://app.netlify.com/sites/chic-heliotrope-3d00a8/deploys/6254700a21a006000865465b


Minor Updates

Completed function specification for the calculate_mass function.
Updated README.md to include information on package ecosystem (ChemPy).

I merged this to the main branch


Cannot use ref functions after the dependency of a provider changed but before the provider rebuilt, when chaining providers

Describe the bug
This example has got two providers, one state provider, which persists the entered text, and a view model provider, which forwards the entered text from the state provider & also forwards the input event to the state provider. The example is very stripped down, and obviously you could do the same thing with only one provider, without any issue, however the issue appeared in a more complex real world situation where two providers were necessary.
To Reproduce

Run the example
Spam the keyboard while focusing the text field
Notice the exceptions

The exception disappears when you move the read the notifier inside the onChanged callback or stop watching the view model provider, as indicated in the comments.
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'main.g.dart';

@riverpod
class MyState extends _$MyState {
  @override
  String build() => "";

  void setText(String text) {
    state = text;
  }
}

@riverpod
class MyViewModel extends _$MyViewModel {
  @override
  String build() => ref.watch(myStateProvider);

  void enterText(String text) {
    ref.read(myStateProvider.notifier).setText(text);
  }
}

void main() {
  runApp(const ProviderScope(child: MyApp()));
}

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

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

class MyScreen extends ConsumerStatefulWidget {
  const MyScreen({super.key});

  @override
  ConsumerState<MyScreen> createState() => _MyScreenState();
}

class _MyScreenState extends ConsumerState<MyScreen> {
  @override
  Widget build(BuildContext context) {
    // Using this notifier causes the exception.
    final notifier = ref.read(myViewModelProvider.notifier);
    // Commenting this line out makes the exception go away.
    ref.watch(myViewModelProvider);
    return Scaffold(
      body: Center(
        child: TextField(
          onChanged: (it) {
            // Using this notifier does not cause the exception.
            //final notifier = ref.read(myViewModelProvider.notifier);
            notifier.enterText(it);
          },
        ),
      ),
    );
  }
}

======== Exception caught by widgets ===============================================================
The following assertion was thrown while calling onChanged:
Cannot use ref functions after the dependency of a provider changed but before the provider rebuilt
'package:riverpod/src/framework/element.dart':
Failed assertion: line 674 pos 7: '!_didChangeDependency'

When the exception was thrown, this was the stack:
#2      ProviderElementBase._assertNotOutdated (package:riverpod/src/framework/element.dart:674:7)
#3      ProviderElementBase.read (package:riverpod/src/framework/element.dart:688:5)
#4      MyViewModel.enterText (package:riverpod_bug_1902/main.dart:23:9)
#5      _MyScreenState.build.<anonymous closure> (package:riverpod_bug_1902/main.dart:62:22)
#6      EditableTextState._formatAndSetValue (package:flutter/src/widgets/editable_text.dart:3834:27)
#7      EditableTextState.updateEditingValue (package:flutter/src/widgets/editable_text.dart:3036:7)
#8      TextInput._updateEditingValue (package:flutter/src/services/text_input.dart:2025:43)
#9      TextInput._handleTextInputInvocation (package:flutter/src/services/text_input.dart:1858:29)
#10     TextInput._loudlyHandleTextInputInvocation (package:flutter/src/services/text_input.dart:1759:20)
#11     MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:559:55)
#12     MethodChannel.setMethodCallHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:552:34)
#13     _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:567:35)
#14     _invoke2 (dart:ui/hooks.dart:344:13)
#15     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:45:5)
#16     _Channel.push (dart:ui/channel_buffers.dart:135:31)
#17     ChannelBuffers.push (dart:ui/channel_buffers.dart:343:17)
#18     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:722:22)
#19     _dispatchPlatformMessage (dart:ui/hooks.dart:257:31)
(elided 2 frames from class _AssertionError)
====================================================================================================

Expected behavior
No exception should be thrown.

Similar to #815.
The myViewModelProvider gets disposed after key input which causes an issue when used afterwards.
You can watch this using a provider observer.

You're correct, this is indeed quite unintuitive. I need to this about the desirable behaviour here.
A simpler reproduction is:
@riverpod
class MyViewModel extends _$MyViewModel {
  @override
  String build() => ref.watch(myStateProvider);

  void crash() {
    ref.read(myStateProvider.notifier).state = 'Foo';
    ref.read(myStateProvider);
  }
}

Although this is consistent with how the assert behaves, that's wayy to inconvenient. I'll change this.

I can't immediately think of a good alternative that's not just "disable the assert".
For now, it seems to be a bit niche. If this gets a bunch of 👍  I'll consider it more.

You're correct, this is indeed quite unintuitive. I need to think about the desirable behaviour here.
A simpler reproduction is:
@riverpod
class MyViewModel extends _$MyViewModel {
  @override
  String build() => ref.watch(myStateProvider);

  void crash() {
    ref.read(myStateProvider.notifier).state = 'Foo';
    ref.read(myStateProvider);
  }
}

Although this is consistent with how the assert behaves, that's wayy too inconvenient. I'll change this.

So we can not read state immediately after change the state. Sometimes I got this exception but didn't know what happened.
I thought it should be safe because riverpod was in the same isolate.

Indeed. As I said I'll likely change this, but at the moment I need to think about how. And it doesn't seem like a very active issue, so we'll see

Here as well, hopefully it can be resolved

@dumikaiya Please thumb up the issue when you support it!

please thumbs up this issue guys

Also does anyone know a workaround this? Currently I just wrap the ref.read(provider.notifier).state = value in a Future. I think it rebuilds the widget later with the newly added or changed value

I currently use something like this, is it okay? or can it cause unexpected errors?
Thanks
@riverpod
class MyViewModel extends _$MyViewModel {
  @override
  String build() => ref.watch(myStateProvider);

  void crash() {
    try{
      ref.read(myStateProvider.notifier).state = 'Foo';
      ref.read(myStateProvider); // usually ref.read(otherNotifier).someMethod();
     } catch (e) {
      if (e is AssertionError) {
        if (e.toString().contains(
            'Cannot use ref functions after the dependency of a provider changed but before the provider rebuilt')) {
        } else {
          rethrow;
        }
      } else {
        rethrow;
      }
    }
  }
}

I'll tackle this in a few weeks. I do plan in fixing this before the official 3.0 release.

Is there a way to disable the assertion until that's done? I can't think of a way to refactor the application to avoid reading from a provider after a set but before a rebuild.

No. To begin with, this isn't a problem in the stable version.

No. To begin with, this isn't a problem in the stable version.

I am encountering a similar behavior with flutter_riverpod: 2.5.1 and riverpod_generator: 2.4.0, which I assume is what you are referring to as the stable version? I know there is riverpod_generator: 2.4.2, but I can't update right now, so I did not test whether the issue is solved there.
My code roughly looks like this
try {
  await Future.wait([
    ref.read(myNotifierProvider.notifier).doSomethingThatTakesLong(),
    ref.read(myOtherNotifierProvider.notifier).doSomethingThatTakesEvenLonger(),
  ]);
} on Exception {
  // ... do some error handling
}

// crash
final updatedStateOfMyOtherNotifier = ref.read(myOtherNotifierProvider);

Apparently I can work around it like this, but I have no idea if this has other unwanted side effects (besides of being a little slower due to the Future.delayed overhead):
try {
  await Future.wait([
    ref.read(myNotifierProvider.notifier).doSomethingThatTakesLong(),
    ref.read(myOtherNotifierProvider.notifier).doSomethingThatTakesEvenLonger(),
  ]);
} on Exception {
  // ... do some error handling
}

+ await Future.delayed(Duration.zero);

// crash
final updatedStateOfMyOtherNotifier = ref.read(myOtherNotifierProvider);

I am also encountered this error when using riverpod with go_router. I am also watching my app initialization in the go router provider. But on initial startup, I get this error.
My go_router_provider:
@riverpod GoRouter router(RouterRef ref) {   final authRepository = ref.watch(authRepositoryProvider);   return GoRouter(     debugLogDiagnostics: kDebugMode,     initialLocation: authRepository.isLoggedIn         ? AppRoutes.home.path         : AppRoutes.initial.path,     refreshListenable: GoRouterRefreshStream(authRepository.authState()),     redirect: (context, state) {       final user = ref.read(authRepositoryProvider).getSignedInUser();       return null;     },     routes: [       GoRoute(         name: AppRoutes.initial.name,         path: AppRoutes.initial.path,         builder: SplashView.route,         routes: [           GoRoute(             name: AppRoutes.email.name,             path: AppRoutes.email.path,             builder: EnterEmailView.route,             routes: [               GoRoute(                 name: AppRoutes.otp.name,                 path: AppRoutes.otp.path,                 builder: OtpView.route,               ),             ],           ),         ],       ),       GoRoute(         name: AppRoutes.home.name,         path: AppRoutes.home.path,         builder: HomeView.route,       ),     ],   ); }
My Startup Code(nothing is there yet.):
@Riverpod(keepAlive: true)  Future<void> appStartup(AppStartupRef ref) async {}
For now, I am going to remove the appstartup from here. and make a separate loading widget. Is there any other way to handle this?

Fwiw I'm currently working on fixing riverpod_lint, because analyzer broke custom_lint
It's going to take a bit of time.
But just expect this error to go away.

Hi @rrousselGit any progress :) ?

You're using a dev branch. Expect bugs for some time ;)
I'm currently fixing custom_lint because it stopped working.

What is the current situation regarding this issue? Using the newest version of the package (v2.5.1) this behavior still occurs when calling a notifier function and then using a ref. It makes some code in our codebase really complicated. Thanks for any updates :)

This issue is specifically about the dev branch.
If you have this using the stable version, that thread doesn't apply.
Consider creating a new issue and explain how you got this error.

What do you mean with dev branch? I'm using the newest pub.dev version from flutter_riverpod which is 2.5.1 and this error still occurs. I don't think that the official version on pub.dev is your dev branch, right? When it is can you please guide me how I can get the stable version of the package.

You're not on the dev branch. But this issue is about the dev branch.


Translate to spanish: 023 Bash Redirection

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[x] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
This translates chapter 023 to spanish in a formal tone like the rest of the book.
Related Tickets & Documents
Added to documentation?

[ ] 📜 readme
[x] 🙅 no documentation needed

[optional] What gif best describes this PR or how it makes you feel?

Can you check this out? @bobbyiliev


[Python 3.11] "Deal with" python 3.11 debugging warning on startup (re: frozen modules)

🧰 Task
Starting napari (command line or python REPL) on python 3.11 triggers a warning:
0.01s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.

This isn't relevant to most end-users and could be a source of confusion or irritation.
Would be nice to find what module is triggering it and then either silence it or work around it.

The current workaround is to use the npe1 adapter. The warning is triggered by the scan of napari-console. Exactly by this line: https://github.com/napari/napari-console/blob/760388c0b5251ab78d45e83270c40f11bee5e289/napari_console/qt_console.py#L6


Error 404 when creating a pull request on branch "develop"

Gogs version (or commit ref): <IP_ADDRESS>1
Git version: <IP_ADDRESS>
Operating system: RHEL7.2
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[X] SQLite

Can you reproduce the bug at https://try.gogs.io: ** => unable to create a repository on it **

[ ] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

2017/01/16 16:16:53 [...uters/repo/commit.go:230 CompareDiff()] [E] GetCommit: exit status 128 - fatal: ambiguous argument 'USER': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git  [...] -- [...]'
Description
You fall in a 404 error when trying to do a pull request on a "develop" branch.
What is very strange is that it appears only when the branch you want to compare in the origin repository is named "develop". I tried other combinations, and don't fall in this error. I'll try to check with different git versions.
...

It is the same error with git 2.7.4

Hi, have you tried latest master branch with install from source code? Because this issue is fixed.

It is fixed by build 0.9.128 :)


Datamatrix

Have you thought of adding Datamatrix too?
Maybe https://github.com/tualo/tualo-datamatrix is a good starting point?
What do you think...

I have only focused on 1d barcodes in this project. I maybe add 2d ones like data matrix and qr-code in the future. But that's is not in the near future unfortunately.


Not using the classification head in Perceiver

Hi @lucidrains, thank you for your great job!
I'd like to use the Perceiver (not PerceiverIO) without the classification head (average and projection). Do you think we could add an option to avoid using it? I can do a PR if you want.
Thanks!

sure! do you mean return this? https://github.com/lucidrains/perceiver-pytorch/blob/main/perceiver_pytorch/perceiver_pytorch.py#L247

No, just before that line, I'd like to avoid the mean.

@gegallego ok! let me know if https://github.com/lucidrains/perceiver-pytorch/commit/b33aced4e1b266aeb1383e03ab63f0a9951f9126 suits your need

Yes, perfect, thank you very much!


Submission failing

I tried adding my book via the form using it’s manifest URL and keep getting the following error:

Error: TypeError: Parameter "url" must be a string, not undefined.

The manifest is checking out as valid and Lighthouse isn’t throwing errors either. Not sure what the cause is.

My first inclination is to say that I was under the impression that the start_url was a relative URL because it uses manifest url and the document url to work out what the actual start_url is.
Also, minor point, your "Scope" attribute should be "scope" (but I don't believe that this sorts the problem)

Ah, I’ll look into it. Thanks!
On Wed, Mar 8, 2017 at 2:56 PM, Paul Kinlan<EMAIL_ADDRESS>wrote:

My first inclination is to say that I was under the impression that the
start_url was a relative URL because it uses manifest url and the document
url to work out what the actual start_url is.
Also, minor point, your "Scope" attribute should be "scope" (but I don't
believe that this sorts the problem)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChrome/gulliver/issues/337#issuecomment-285150784,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEn2LvjXcaUrA2Y9ccNNQqR8pMJs_mhks5rjwgKgaJpZM4MXNqD
.

Ok, so I made the suggested tweaks and also ran it through the validator and it comes back clean. Still getting that same error.

Node fetch of https://adaptivewebdesign.info/1st-edition/read/manifest.json
is not handling the protocol upgrade and we are not getting the manifest:
{
"url": "https://adaptivewebdesign.info/1st-edition/read/manifest.json",
"status": 200,
"statusText": "OK",
"headers": {
"_headers": {
"date": ["Thu, 09 Mar 2017 16:40:43 GMT"],
"server": ["Apache/2.4.25 (Ubuntu)"],
"upgrade": ["h2"],
"connection": ["Upgrade, close"],
"last-modified": ["Thu, 09 Mar 2017 15:09:18 GMT"],
"etag": [""4d0-54a4da105c380""],
"accept-ranges": ["bytes"],
"content-length": ["1232"],
"content-type": ["application/json"]
}
},
"ok": true,
"body": {
"_readableState": {
"objectMode": false,
"highWaterMark": 16384,
"buffer": {
"head": null,
"tail": null,
"length": 0
},
"length": 0,
"pipes": null,
"pipesCount": 0,
"flowing": null,
"ended": true,
"endEmitted": false,
"reading": false,
"sync": false,
"needReadable": false,
"emittedReadable": true,
"readableListening": false,
"resumeScheduled": false,
"defaultEncoding": "utf8",
"ranOut": false,
"awaitDrain": 0,
"readingMore": false,
"decoder": null,
"encoding": null
},
"readable": true,
"domain": null,
"_events": {},
"_eventsCount": 1,
"_writableState": {
"objectMode": false,
"highWaterMark": 16384,
"needDrain": false,
"ending": true,
"ended": true,
"finished": true,
"decodeStrings": true,
"defaultEncoding": "utf8",
"length": 0,
"writing": false,
"corked": 0,
"sync": true,
"bufferProcessing": false,
"writecb": null,
"writelen": 0,
"bufferedRequest": null,
"lastBufferedRequest": null,
"pendingcb": 0,
"prefinished": true,
"errorEmitted": false,
"bufferedRequestCount": 0,
"corkedRequestsFree": {
"next": null,
"entry": null
}
},
"writable": false,
"allowHalfOpen": true,
"_transformState": {
"needTransform": false,
"transforming": false,
"writecb": null,
"writechunk": null,
"writeencoding": null
}
},
"bodyUsed": false,
"size": 0,
"timeout": 0,
"_raw": [],
"_abort": false
}

So I guess the protocol upgrade is an issue on the Node service’s end? Is there anything I can do?

@aarongustafson yes, the issue is in Node service’s end, I tried few things and did not make much progress, I will try to fix it soon.

I was able to add support for it by adding a spdy agent #414


No function for controlling sound sensitivity

Hello !
Demo works great and this library is really helpful. I found no function for setting sensitivity of mic to hear a sound in *SpeechRecognizer.java *. Is it possible that you add a function for sound sensitivity to give better user experience.
Thanks!

Pocketsphinx automatically adjusts recording volume in process of recognition, there is no such thing as "sensitivity" then. If you meet some specific problems with recognition you need to describe them in more details. You need to provide corresponding audio recordings in order to reproduce your problems.

Is there any way to get PocketSphinx to work on lower volumes? Even with the mic placed very close to your mouth, it only seems to work if you speak fairly loudly. I'd like to get it to work by just whispering, which it doesn't currently seem to work with.

Whisper speech recognition is not supported and requires significant work.


License detection from Pipfile.lock

Type of change

New feature (non-breaking change which adds functionality)

Description
Checklist

+1


Unprefix SOMA names

Implements #427
@bkmartinjr @aaronwolen heads-up, this is a breaking change for main as class-name metadata is written to storage so that we can invoke the correct constructor at read time. So for example data written before this PR is merged will have obs with storage-metadata class name SOMADataFrame but code running after this PR will only accept class name DataFrame and will not instantiate obs at read time.
This is the right time in main development to be making this change.
The line-count on this PR is high, but it is just a mindless search and replace.

@bkmartinjr @thetorpedodog
https://github.com/single-cell-data/TileDB-SOMA/pull/464/commits/0b4001d604e7635f681c279b3821aed70f5d1bd9

@thetorpedodog remaining issue is
https://github.com/single-cell-data/TileDB-SOMA/pull/464#discussion_r1004809930
and
https://github.com/single-cell-data/TileDB-SOMA/pull/464#discussion_r1004810882
which i already (in anticipation) pushed as a commit on this PR -- if you're OK with that this should be a quick stamp IMHO 🙏

@bkmartinjr ready for round two! :)


feat: publish tailcall WASM build on NPM

Publish tailcall on npm under

@tailcallhq/wasm-browser
@tailcallhq/wasm-node

Public API
import {GraphQLExecutor} from '@tailcallhq/tailcall'

// YML, JSON or GraphQL
const jsonConfig = " ... <tailcall config> ... ";

// Use the builder to create the configuration
const builder = new TailcallBuilder().withJSONConfig(jsonConfig).withYMLConfig(ymlConfig);

// Build an instance of Tailcall, resolving configurations
const tailcall = await builder.build();

// Execute queries using the builder.
const query = "query {users {name}}"
await executor.execute({query})

Technical Requirements

I should be able to install the package via npm
I should be able to use the package in the browser directly
I should be able to use the package via node.js

/bounty 300

can i get assigned to this , would love to work on this issue .

✋

Can you explain more about the package @tailcallhq/wasm-browser? It's confusing, according to my understanding, there should be just 1 package published i.e. @tailcallhq/wasm-nodewhich can be used in browser using nodejs. Or is it like we provide a js file (maybe via cdn) which can be used in browsers like
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="utf-8" />
    <title>hello-wasm example</title>
  </head>
  <body>
    <script type="module">
      import init, { GraphQLExecutor } from "http://lint/to/tailcall.js";
      init().then(() => {
          const config = " ... <tailcall config> ... "; // YML, JSON or GraphQL
          const executor = new GraphQLExecutor(config);
          const query = "query {users {name}}"

          await executor.execute({query})
      });
    </script>
  </body>
</html>

is anyone still working on this? if not, I would like to get assigned

This GraphQLExecutor being exported, do you imagine it being a Rust source code compiled to WASM or being a JS layer that interfaces with the binary @tusharmath?

Yes.

@coderabbitai

waiting for completion of #1153 or should I start without the builder?

@tusharmath
can we have tailcall check also in this?

helpful to check if config is good in the browser.


implement per_repo_quota

sets the maximum number of pods that can be running from a given repo
default in the helm chart is 100, default for the app is 0 (no limit)
Currently, this fails the launch with an error that too many people are using the repo. Alternately, we could hold the launch in a queue and wait until the quota is no longer met.
closes #331

Now that we've had a couple events of repos swamping mybinder.org, I think we should go with this. I've added TODO comments based on review for things that could be improved in the future and I think this is good to go now.


Cannot connect with psql in a custom sh script

Hi, I have a custom sh script mounted under /docker-entrypoint-initdb.d.
When I run the container and my script gets executed, it fails with this error:
ostgreSQL stand-alone backend 9.4.4
backend> statement: CREATE DATABASE "mydb" ;

backend>

PostgreSQL stand-alone backend 9.4.4
backend> statement: CREATE USER "mydb" WITH SUPERUSER PASSWORD 'password' ;

backend>
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

This is my custom script:
#!/usr/bin/env bash

psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
    CREATE LANGUAGE plpythonu;
EOSQL
echo

Thanks.

This is working for me, but I thought that was the "old" way of doing it:
gosu postgres postgres --single -jE <<-EOSQL
   CREATE LANGUAGE plpythonu;
EOSQL

Which image are you using?  Is it one of the still-supported tags?  Did you
make sure you've got the latest build of it (docker pull postgres:tag)?


Traefik HTTP Middlewares IPAllowList - IP Rejecting - Tailscale IP is MIA

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Hello World ;-)
I'm using Traefik with Tailscale and now trying to setup a ipallowlist/#sourcerange, however even though I specified <IP_ADDRESS>/8 as my sourcerange, instead it appears (per logs) that Traefik isn't seeing my request as from <IP_ADDRESS>, but rather from <IP_ADDRESS> (which is container own gateway IP address) and not public / tailscale IP address.
$ ssh ABC.XYZ.ts.net who
user   pts/0        2024-05-10 21:48 (<IP_ADDRESS>)
$ curl -Iv https://ABC.XYZ.ts.net/mongo-express/
* Host ABC.XYZ.ts.net:443 was resolved.
* IPv6: (none)
* IPv4: <IP_ADDRESS>
*   Trying <IP_ADDRESS>:443...
* Connected to ABC.XYZ.ts.net (<IP_ADDRESS>) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=ABC.XYZ.ts.net
*  start date: May  1 00:31:05 2024 GMT
*  expire date: Jul 30 00:31:04 2024 GMT
*  subjectAltName: host "ABC.XYZ.ts.net" matched cert's "ABC.XYZ.ts.net"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
*   Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://ABC.XYZ.ts.net/mongo-express/
* [HTTP/2] [1] [:method: HEAD]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: ABC.XYZ.ts.net]
* [HTTP/2] [1] [:path: /mongo-express/]
* [HTTP/2] [1] [user-agent: curl/8.5.0]
* [HTTP/2] [1] [accept: */*]
> HEAD /mongo-express/ HTTP/2
> Host: ABC.XYZ.ts.net
> User-Agent: curl/8.5.0
> Accept: */*
>
< HTTP/2 403
HTTP/2 403
< content-length: 9
content-length: 9
< date: Sat, 11 May 2024 02:07:21 GMT
date: Sat, 11 May 2024 02:07:21 GMT

<
* Connection #0 to host ABC.XYZ.ts.net left intact
$

labels docker compose block:
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik_default"
      - "traefik.http.middlewares.mongo-express_ipallowlist.ipallowlist.sourcerange=<IP_ADDRESS>/8"
      - "traefik.http.routers.mongo-express.entrypoints=websecure"
      - "traefik.http.routers.mongo-express.middlewares=mongo-express_ipallowlist"
      - "traefik.http.routers.mongo-express.rule=Host(`X.Y.ts.net`) && PathRegexp(`/(mongo-express|public|db)`)"
      - "traefik.http.routers.mongo-express.tls.certresolver=myresolver"

i also tried my luck with Traefik Labs Community Forum as well:
[Ip_whitelist.go:70 > Rejecting IP <IP_ADDRESS> - Traefik / Traefik v3 (latest) - Traefik Labs Community Forum]
(https://community.traefik.io/t/ip-whitelist-go-70-rejecting-ip-172-28-0-1/22561/1)
What did you see instead?
% curl https://X.Y.ts.net/mongo-express
Forbidden%

What version of Traefik are you using?
latest:
# docker run traefik traefik version
Version:      3.0.3
Codename:     beaufort
Go version:   go1.22.4
Built:        2024-06-18T14:31:20Z
OS/Arch:      linux/amd64
#

What is your environment & configuration?
# uname -a
Linux X.Y.Z 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux
# cat /etc/debian_version
12.5
#

Add more configuration information here.
# docker --version
Docker version 26.1.4, build 5650f9b
# tailscale --version
1.68.1
  tailscale commit: f02ad839770b7d1453e88d64b02162ce81cdd7a8
  other commit: 8f9cb4763e0650eadf4df8131b57733f2ce10d78
  go version: go1.22.4
#

If applicable, please paste the log output in DEBUG level
# docker compose logs --tail 1 traefik
traefik  | 2024-06-21T16:01:44Z DBG github.com/traefik/traefik/v3/pkg/middlewares/ipallowlist/ip_allowlist.go:80 > Rejecting IP <IP_ADDRESS>: "<IP_ADDRESS>" matched none of the trusted IPs middlewareName=mongo-express_ipallowlist@docker middlewareType=IPAllowLister
#

Hey @a1exus,
We can't think of any technical reason why this would come from an issue in Traefik. Instead, a configuration issue (on your container for example) looks like where you should investigate.
Closing this one for now, let us know if you think there is a real bug in Traefik.


make E to wait/follow optional

Description
A user named Wordreth on the Nexus reported that they would like to be able to turn the E to wait/follow off.
Is the feature related to a problem?
Yes. They do not want to accidentally command minions when trying to use E on some other object.
Solutions
Add a boolean to the config which is read. Assign its value to the Tameable.commandable field.

fixed in 1.7.0


Allow sharing CS pin with other pins; give up pins for wifi

The Arduino Nano RP2040 ties together UART RX and the CS pin, to save microcontroller pins. This works out because if you are using Bluetooth mode, you don't need the CS pin after you reset into Bluetooth mode.
Currently the adafruit_airlift API assumes the pins are all distinct. It creates DigitalInOuts and holds on to them. But it could instead create the DigitalInOut's as needed for resetting purposes and deinit() them when done.
Context managers will work in some cases, but _bleio.Adapter expects to be passed DigitalInOut's, so their lifetime is longer.
Another intertwined issue is that adafruit_esp32spi expects to be passed pins. RIght now some pins it would be passed are already grabbed for reset purposes. So this library probably doesn't even work with adafruit_esp32spi right now.
See https://forums.adafruit.com/viewtopic.php?f=60&t=179704 for background.

As well as not holding onto the pins, it would be nice to have the reset pin as optional.
I wish to use and test airlift with a non-adafruit board, which doesn't have a reset pin, but instead an Enable pin which can be dragged to ground however has a 10k pullup (to provide for a reset button/switch to ground on the sparkfun esp32 thing). I would rather not use a reset pin at all and accept the esp32 is either freshly booted or in idle mode (or broken), which works very well if I modify the library to try/catch the reset.
BLE is back on the menu due to the PicoW bringing in micropython BLE support, and the esp32spi library was being mentioned as possibly aligning better with modern CPY so this directly relates to that effort.


Bump underscore from 1.9.1 to 1.13.1

As mentioned in #1639, there is a high security vulnerability with dependent library - underscore < 1.12.1. Bumping it 1.13.1 will resolve the issue.
More on the CVE: https://www.npmjs.com/advisories/1674

h/t @jbrody1

Any updates on this?

Any updates on it?

Any updates on it?


Use tempfile instead of tempdir

The tempdir crate has been deprecated in favour of tempfile.

Hi, yes, but tempdir is only used in test cases, it should be ok at the moment.


check for major version when collection compatible shop versions

I was unable to upload Shopware 5 plugins because the uploader would mark them compatible to Shopware 6.0.0-DP1. I've added a additional check in the getCompatibleShopwareVersions method that skips versions that are not on the same major version.
This was only tested with Shopware 5 Plugins as I don't have any Shopware 6 plugins yet.

I will test it later and release a new version. Thanks!!


Shift type-specific logic into data models where possible

[x] Move Item getters
[x] Move chat properties
[ ] Move Item preparation methods
[ ] Move Actor preparation methods
[ ] Move preCreate/Update/Delete handlers

SpellData#getCardData returns context.isSpell = true, but the places isSpell gets used just do a plain type check for type === "spell". This makes it difficult for module subtypes that are spell-like (psionic powers, martial maneuvers from 3pp) to display info as richly as the system-native spells.

Similar issue with property sorting - right now it's a hard check of if ( item.type !== "spell" ) context.properties = sortObjectEntries(context.properties, "label");, but having this be a (static?) property of a module subtype would allow for more customization


Add dark mode support similar to jenkins.io

What feature do you want to see added?
We currently do not support dark mode on systems using the dark mode for the Contributor Spotlight, so would like this feature to be added similar to what we have at https://www.jenkins.io/ in https://github.com/jenkins-infra/jenkins.io in order to have a consistent dark-mode support accross all Jenkins site.
Upstream changes
No response

@krisstern I'm going to take a look at this one. I skimmed through the jenkins.io repo and didn't see any obvious mention of dark mode. I will dig a bit deeper, but do you happen to have any pointers on where to start looking?

Hey @etorres07, sure! Please keep us posted on any progress here.
Also, you may use the following merged PR's as references:

Add dark mode: https://github.com/jenkins-infra/jenkins.io/pull/7266
Fix some elements in dark mode: https://github.com/jenkins-infra/jenkins.io/pull/7457
Update back link icon in dark mode: https://github.com/jenkins-infra/jenkins.io/pull/7458
Refresh the design of the 'Changelogs' pages: https://github.com/jenkins-infra/jenkins.io/pull/7479

can you assign it to me ?

Hi @Ashish-CodeJourney No, I cannot assign this ticket to you. @etorres07 is working on this.


tests: Bluetooth: Mesh: use psa secure storage in mesh bsim tests

PR:

Removes PSA ITS emulator in mesh bsim tests and enables secure storage
Changes dependencies in secure storage to avoid circular dependencies if secure storage users select the same features

#AutoPTS run zephyr nrf52 MESH/NODE/KR/BV-01-C DFUM/SR/FD/BV-01-C

Scheduled PR https://github.com/zephyrproject-rtos/zephyr/pull/82319#issuecomment-2523281887, board: nrf52, estimated start time: 14:43:31, test case count: 2, estimated duration: 0:04:49Test cases to be runDFUM/SR/FD/BV-01-CMESH/NODE/KR/BV-01-C

AutoPTS Bot results:
Failed tests (1)MESH    MESH/NODE/KR/BV-01-C            FAIL
Successful tests (1)DFUM    DFUM/SR/FD/BV-01-C              PASS


Update toolkit.py to remove single quotes around table names

Description: Removing the single quote wrapper around the table names in the SQL agent toolkit.py file as it misleads the LLM into querying against tables with single quotes around their names.
Issue: #7457
Dependencies: None
Tag maintainer: @hwchase17
Twitter handle: None

@hwchase17 merge it pls ☹

Is there anything that I need to do to get this merged?  Selfishly, I'd love to not have to modify toolkit.py every time I update, but I'd hate for somebody new to this to have a bad experience and give up.

@hwchase17 @baskaryan @dev2049 @nfcampos @eyurtsev @hinthornw @vowelparrot @leo-gan @rlancemartin @efriis @olgavrou
pls give me maintainer access, I'd like to merge this ASAP.


tp_layer.py lora_a,b init_method is different from the method in lora paper

System Info
peft: latest
Who can help?
@zhangsheng37
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] An officially supported task in the examples folder
[ ] My own task or dataset (give details below)

Reproduction
https://github.com/huggingface/peft/blob/main/src/peft/tuners/lora/tp_layer.py#L125-L145
Expected behavior
I think the init_method of lora a,b layer in tp_layer.py should be as follows
            if self.is_parallel_a:
                lora_a = self.backend.RowParallelLinear(
                    input_size=self.in_features,
                    output_size=r,
                    bias=False,
                    input_is_parallel=input_is_parallel,
                    skip_bias_add=True,
                    init_method=init_method,
                    config=megatron_config,
                )
                lora_b = nn.Linear(in_features=r, out_features=self.out_features, bias=False, dtype=torch.float32)
                torch.nn.init.zeros_(lora_b.weight.data)
            else:
                lora_a = nn.Linear(in_features=self.in_features, out_features=r, bias=False, dtype=torch.float32)
                init_method(lora_a.weight.data)
                lora_b = self.backend.ColumnParallelLinear(
                    input_size=r,
                    output_size=self.out_features,
                    bias=False,
                    gather_output=gather_output,
                    init_method=torch.nn.init.zeros_,
                    config=megatron_config,
                )

because it is mentioned in paper
"""
We use a random Gaussian initialization for A and zero for B
"""
the logic should be the same as in the peft/tuners/lora/layer.py#L157-L166

It's not quite clear to me what this change would achieve. Note that the initialization scheme for the weights is determined a few lines further below:
https://github.com/huggingface/peft/blob/d9aa0898e4a184464fe012afbf9af7adf0cf70d8/src/peft/tuners/lora/tp_layer.py#L154-L164
The reset_lora_parameters method should take care of initializing the weights in the same way as for normal LoRA layers.

Oh! Im so careless


Enable ironic in service_config_ceph

As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

recheck

recheck

recheck

hello @rlandy ,
is this patch still relevant? Do you need help in order to get it in?

@rlandy @viroel is this still active and/or relevant?

All is green in CI - but I don't really know what's expected in the end. New test in tempest maybe? Care to extend a little bit the commit message and the PR description?

https://logserver.rdoproject.org/33/50933/10/check/podified-multinode-edpm-ironic-nobuild-tagged-crc/65876f7/controller/ci-framework-data/tests/tempest/stestr_results.html

testproject results:
https://logserver.rdoproject.org/33/50933/10/check/podified-multinode-edpm-ironic-nobuild-tagged-crc/3807bce/controller/ci-framework-data/tests/tempest/stestr_results.html
ironic pods:
pod/ironic-b5d6d87c8-rr5f2                                          2/2     Running     0          28m
pod/ironic-conductor-0                                              2/2     Running     0          28m
pod/ironic-db-sync-xhckf                                            0/1     Completed   0          29m
pod/ironic-inspector-0                                              2/2     Running     0          27m
pod/ironic-inspector-db-sync-b4mkw                                  0/1     Completed   0          28m
pod/ironic-neutron-agent-59dc58857f-qj48g                           1/1     Running     0          28m

/lgtm

/lgtm

/approve


Why pseudo point cloud results in this proposed method seem too far different from LIDAR?

In original LIDAR point cloud, there are several cars on the highway. But cant tell these items in this codebase using pretrained models.

mee too! I also encountered the same problem, have you solved it?

mee too! I also encountered the same problem, have you solved it?

your torchvision should be 0.2.0 !

your torchvision should be 0.2.0 !

Do you fix the problem ? I have the same problem too !

Do you fix the problem ? I have the same problem too !

Hi @pengweiweiwei @Zong-Ming-Jing
Could you please send a point cloud sample (the .bin file) to<EMAIL_ADDRESS>I can help you address this question.

Hi @pengweiweiwei @Zong-Ming-Jing
Could you please send a point cloud sample (the .bin file) to<EMAIL_ADDRESS>I can help you address this question.

我遇到了和你类似的问题。我使用的是pytorch0.4.1和作者提供的模型finetune_300.tar。

然后我改成pytorch0.4.0，但是发生了错误“num_batches_tracked”。于是我将psmnet/sunmission.py里的
model.load_state_dict(state_dict['state_dict'])
改成
model.load_state_dict({k.replace('.num_batches_tracked', ''):v for k,v in state_dict['state_dict'].items()})
它成功了

希望能帮到你

我遇到了和你类似的问题。我使用的是pytorch0.4.1和作者提供的模型finetune_300.tar。

然后我改成pytorch0.4.0，但是发生了错误“num_batches_tracked”。于是我将psmnet/sunmission.py里的
model.load_state_dict(state_dict['state_dict'])
改成
model.load_state_dict({k.replace('.num_batches_tracked', ''):v for k,v in state_dict['state_dict'].items()})
它成功了

希望能帮到你

I actually had a similar issue. The approach ends up working perfectly fine, but the point cloud results are different. LIDAR (red), Your provided pseudo-lidar point cloud (green), and the one computed from a disparity map generated by psmnet (blue). This is the top view for image 000003 from the object training dataset.


Portal: Concom List: Display information about divisional backups

Prereq: #318

The concom list, when displaying the header for a division, should include something like "Backed up by "
The autodorgnut display of divisions should be ordered according to the backup pointer cycle.
The autodorgnut should include an arrow that leads from a given division to the next one in backup order (see the official SRD-generated dorgnut for reference)

The patches are in.


vis.#.control.command doesn't work correctly v1.4.15

vis version 1.4.15
system: all adapters up to date on docker container
demo:
project 1:
name: main
view: test
project 2
name: new
view: test
this command
setState('vis.0.control.command', {"instance": "64.xxxx", "command": "changeView", "data": "new/test"});
goes in the browser to main/test or to ....vis/edit.html?main#test, if view "test" in project "main doesn't exists.
changes in the same project works.
see also #345 and #151
in #151 the problem should have been fixed
Am I misunderstanding the function or is it a bug?

@csicom please check this issue with Vis 2.x
Vis 2 is currently in Alpha phase, see also forum:


Change name to redox_parser

The errors you're encountering are ones I've already developed fixes for. I understand if you don't want my help, but I'm offering it just the same.
The test won't pass because the workflow action that installs Poetry is using an outdated version of Node that GitHub dropped legacy support for some time ago. I was able to get everything working by forking and using my own version of the action: https://github.com/mmabey/action-setup-python
The changes from the base are very minimal, just some Dependabot PRs and updating the version of actions/cache that uses a newer version of Node. It would be pretty trivial for you to fork your own version of that action and make the same updates if you're uncomfortable using my repo.
I know we have our differences in opinion of how to best maintain this library going forward, but I honestly only have the library's interest at heart. If you ever feel comfortable, please don't hesitate to use me as a resource in your work on this.


Axios cache interceptor v1 roadmap

Closes #367.
The current task list for v1.0.0 seems to be the following:
(W): Waiting

[x] Test types that didn't throw any error.
[x] Make sure were extending correctly AxiosInstance, as it changed dramastically.
[x] Understand how headers have changed. axios/axios#5002
[x] Fix old broken tests
[x] Fix tests js-dom environment with ESM. axios/axios#5000
[x] Should be added new tests to check for new axios features?
[x] Migrate docs generator to vuepress (or any other beauty template).
[x] Test if axios v1 really fixed #317.
[x] Make sure node v12+ is still working (#397)

I'm waiting for a more mature version of axios v1 before continuing this work.

While v1.2+ does not get released, I'll be slowly working on non-axios related features, like the new documentation.

Axios just released 1.2.1, I'm going to get back to this PR.

For new axios features, its safe to say that is currently working fine and I'll add tests for them as soon as any issue comes :)

Hey, I was looking to install axios-cache-interceptor@1 as written in https://axios-cache-interceptor.js.org/guide/getting-started#quick-start and I now see that such release/tag does not exist, and found this MR which is already merged 🤔
Is there still anything left to be done for the v1 release or it's just a mistake in the docs? 😅
If that is still WIP, will I be safe to use<EMAIL_ADDRESS>with the<EMAIL_ADDRESS>thanks!

Hey, actually no. I was testing the new documentation and released it to get more spelling feedback. For now axios-cache-interceptor only works with axios@0.
I'll release the 1.0.0-beta this or next week. This month has been too short in time for me, sorry for the inconvenience.

No problem, thanks for amazing work and info!

Thank's for your work Arthur !


Installation Issue

Hi.
Was trying to install this site however i get the below issue. tried composer install and got the below
In Connection.php line 664:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings'
   doesn't exist (SQL: select * from `settings`)

In PDOConnection.php line 79:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings'
   doesn't exist

In PDOConnection.php line 77:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings'
   doesn't exist

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

Using Ubuntu 16.04 with PHP7.0

Do you have the .env file with the correct credentials for you database?

hi @codrin-axinte
yes the .env is correct with the database

update from the debug
        // run the SQL against the PDO connection. Then we can calculate the time it
        // took to execute and log the query SQL, bindings and time in our memory.
        try {
            $result = $callback($query, $bindings);
        }

        // If an exception occurs when attempting to run a query, we'll format the error
        // message to include the bindings with SQL, which will make this exception a
        // lot more helpful to the developer instead of just the database's errors.
        catch (Exception $e) {
            throw new QueryException(
                $query, $this->prepareBindings($bindings), $e
            );
        }

        return $result;
    }

    /**
     * Log a query in the connection's query log.
     *
     * @param  string  $query
     * @param  array   $bindings
     * @param  float|null  $time
     * @return void
     */
    public function logQuery($query, $bindings, $time = null)
    {
        $this->event(new QueryExecuted($query, $bindings, $time, $this));

        if ($this->loggingQueries) {
Arguments
"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings' doesn't exist (SQL: select * from `settings`)"

Try to run the command php artisan migration:fresh

no still get the same issue
php artisan migration:fresh

In Connection.php line 664:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings'
   doesn't exist (SQL: select * from `settings`)

In PDOConnection.php line 79:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings'
   doesn't exist

In PDOConnection.php line 77:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mining.settings'
   doesn't exist

Issue fixed.


Docs for #2714 - Allow setting security context of pods using persistent volumes

Description
The feature introduced by #2714 allows the service administrator to control the security context of pods that utilise a persistent volume.  This feature touches the following existing documentation areas:

standard and broker Infrastructure configuration - the field spec.securityContext is now available for configuration within the existing podTemplate.
standard authentication service standard documentation - there is a new field securityContext.  This is a sibling of the existing field resources.
IoT file device registry resource permits the same securityContext field.  I don't see this resource in the documentation currently.

In all three cases, the securityContext object is described in the Kuberentes documentation[1]
[1] https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod

I raised a PR to update the existing tables for the the brokered and standard infra config fields.  The equivalent tables don't exist for the other two configuration sources.  Rather than create these, it would be better to push the information back into the metadata and generate the documentation directly.


New Network Request: Horizen EON Mainnet

Network information

Name: Horizen EON Mainnet
ChainId: 7332
RPC http/s address: https://eon-rpc.horizenlabs.io/ethv1
Link to https://chainlist.org/: https://chainlist.org/chain/7332
(Optional) Blockexplorer:
[x] I have run RPC='https://eon-rpc.horizenlabs.io/ethv1' yarn estimate
[x] I have sent requiredFunds to 0xE1CB04A0fA36DdD16a06ea828007E35e1a3cBC37

data: 'Insufficient funds for executing transaction: balance<PHONE_NUMBER>0000000, tx cost<PHONE_NUMBER>4234300'

@Uxio0 hmm, can you re-sign the tx at a higher gas price

@Uxio0 seems like @mikelohmann didn't transfer sufficient ZEN at least at current gas prices, I'll see if I can get this done
https://eon-explorer.horizenlabs.io/address/0xE1CB04A0fA36DdD16a06ea828007E35e1a3cBC37

@Uxio0 just transferred quite a bit, can you please retry?

0xeb5b0d9b0b8b0981e725b63343925361de321ef6f3142187de0e3963f122bd23


Revert to official typescriptreact filetype

vim will use typescriptreact by default: https://github.com/vim/vim/commit/92852cee3fcff1dc6ce12387b234634e73267b22

Vim's decision is reasonable... but breaks a lot of plugins...

Fixed in #140


Error in C# getting started

https://www.microsoft.com/net/tutorials/csharp/getting-started/classes-objects
It should be value instead of newSpeed
Current:
public class Speedometer
{
    private int _currentSpeed;
    public int CurrentSpeed
    {
        get
        {
            return _currentSpeed;
        }
        set
        {
            if(newSpeed < 0) return;
            if(newSpeed > 120) return;

            // value is a keyword used in setters representing the new value
            _currentSpeed = value;
        }
    }
}

Proper:

public class Speedometer
{
    private int _currentSpeed;
    public int CurrentSpeed
    {
        get
        {
            return _currentSpeed;
        }
        set
        {
            if(value < 0) return;
            if(value > 120) return;

            // value is a keyword used in setters representing the new value
            _currentSpeed = value;
        }
    }
}

@ardalis this issue is in the tutorials for the .NET site. Can you fix that?
/cc @shanselman @davidcsa

Yes, will follow up shortly.

I don't see an issue here. There are two examples, only one of which uses newSpeed. The two examples listed in the issue here are, as far as I can see, identical. The listing in the lesson that refers to newSpeed is showing how one might update a field without using C#'s support for properties:
`public class Speedometer
{
private int _currentSpeed;
public int GetCurrentSpeed()
{
return _currentSpeed;
}
public void SetCurrentSpeed(int newSpeed)
{
if(newSpeed < 0) return;
if(newSpeed > 120) return;
    _currentSpeed = newSpeed;
}

}`
But this isn't what @devlo is showing in the issue description, so I'm not sure where the problem is.
In any case, you can close this issue @mairaw since this isn't the proper repo to track problems with these tutorials.
Please open a new issue at https://github.com/dotnet/training-tutorials/issues if there is still a problem to be corrected. Thanks.

Thanks @ardalis! I see the issue reported fixed on the site. Good to know the right repo as well.


New Test Case

I would like to add a new test case to your project for our lab 9.

Sounds great go ahead!


Merge Object and BaseObject interfaces

Currently we have two interfaces to represent objects in Goby. One is Object which represents any internal objects in the vm. The other one is BaseObject, which represents objects that can be accessed in Goby, like String, Integer.
And these two interface is sort of duplicated, their only difference is that BaseObject requires structs to have returnClass() method. This makes method and error can't be BaseObject, which means if we make these two structs have class then we can remove one of the interface. Besides, method and error do need to be accessible.
(Personally I prefer making Object require returnClass() and remove BaseObject interface.)
What do you think? @adlerhsieh @janczer

Interesting. I'll be watching how fundamental class design is going to be.

@hachi8833 I already opened a PR for this issue, see the reference above.


Space Pin interpolation should work vertically, too, but only does so horizontally

I'm trying to use Space Pins to align the size of an MR space with the exact real-world space's size determined beforehand using a laser ruler.
However, the virtual objects are not placed on just one floor, but on several floors in a building - and I need the Space Pins to also correctly align the vertical distance of the floors with the laser ruler measurement.
When trying to achieve this with SpacePins right now, the result is this:

The pinned scene shifts to the ground floor alignment when the user is standing above the ground floor SpacePin (or more precisely, is closer to the the SpacePin horizontally), whereas the scene uses the top floor alignment when the user is standing above the top floor SpacePin (is closer to that SpacePin horizontally).
When the two SpacePins are roughly above each other with just a minor horizontal offset, this means that the aligned scene wildly jumps in height when the user is about equally close to the two SpacePins horizontally.
Therefore, it should be possible align the pinned scene also when moving vertically between SpacePins, not just horizontally. That is, the user's distance to the SpacePins that's used for interpolation should take the Y coordinate into account.

You are correct that currently the interpolation is entirely driven by the user's horizontal position. This is also why pins vertically aligned are not supported at all.
Supporting at least multi-level scenarios, and ideally full 3D volumes, is a high priority future work item. But it is non-trivial.
The only current way of doing that which I am aware of is to set different SaveFileName's for different floors, and manually Save and Load appropriately. Something like:
OnEnterRoom(string roomName)
ClearAllSpacePins()
alignmentManager.SaveFileName = roomName
alignmentManager.Load()
Agreed that this isn't very nice.

Thanks for your quick feedback.
Unfortunately, using independent pinned spaces for different floors is not an option for me, as I need both floors in the same context, i.e. in the same pinned space. Otherwise, my app doesn't make any sense.
I can imagine that an interpolation in three dimensions is difficult to get right.
Would it be easier to do the interpolation based solely on the vertical offset to the SpacePins? Because in my scenario, that would be perfectly sufficient.

The interpolation is the second half the problem. The first part of the problem is to process the set of 3D points (SpacePin locations) into an efficient, query-able, linearly interpolating data structure. That only needs to happen when the set of 3D points changes (SpacePin(s) added or removed), so can be relatively slow (but a small fraction of a frame).
Then the interpolation, based on head position, needs to happen each frame, so must me extremely efficient ( < 1m).
Simplifying the problem by projecting it onto the horizontal plane has obvious benefits, and equally obvious limitations.
If I'm understanding your application's requirements correctly, then to convert the projection onto the horizontal plane into an equally simplifying projection onto a vertical plane (e.g. XY plane), would be a trivial modification to the SimpleTriangulator class, which implements ITriangulator (see https://microsoft.github.io/MixedReality-WorldLockingTools-Unity/DocGen/Temp/api/Microsoft.MixedReality.WorldLocking.Core.Triangulator.SimpleTriangulator.html).
If you implemented that as something like SimpleTriangulatorXY, then using that instead of the default could be instantiated by simply replacing the new Triangulator.SimpleTriangulator() with new SimpleTriangulatorXY() in AlignmentManager.cs (with trivial UX controls later if it turned out to be useful).
If you are interested in pursuing that route, let me know and I would be happy to assist.

Ah, nice! If it's as simple as that, I'd certainly love to try it out.
In my specific case, I might be able to simplify the interpolation even more by reducing it to only the Y axis.

Very interesting. Yes, that's an excellent point. You might want to ignore SimpleTriangulator entirely and just implement ITriangulator on the Y-axis.
Again, feel free to ping me for clarifications, either on this issue or via my email (on my profile). And if you don't wind up needing any assistance, I'd be interested in hearing that too.

Interesting I didn't notice yet that  there was no vertical interpolation, but our application will also not work without this.

I'm not sure I understand this comment. The interpolation is computed by the ITriangulator in Find(Vector3 pos). The three pose weights returned in the interpolant are applied by the AlignmentManager blindly. If they are computed strictly by height in the Triangulator which you supply, then the interpolation will be strictly height based.
I don't want to take the fun out of it for you by telling how I would do it, but if you asked I would of course be happy to share my approach.
Again, feel free to move this to email, as it is getting a bit specific for a general issue or work item.

Alright, got the purely vertical interpolation working by implementing a "TriangulatorY" and setting it on the AlignmentManager instead of the SimpleTriangulator. Works nicely - SpacePin alignment now transitions between the two floors depending on my head height in space, without taking X and Z into account. So, thanks a bunch for pointing me in the right direction here!
One thing that still bothers me, though, is that I'm still observing a drift of the upper floor SpacePin over time. I'm setting both SpacePins shortly after the start of the app, including a visual marker to highlight the pinned position on the floor at each story. At the time, the pins are perfectly level with the floor when I'm close to them. After going back to the lower floor and doing some work in the app there for a few minutes, however, the upper landing pin starts to drift, and once I get back to the upper floor, I can see that the visual marker is now several centimeters below floor level.
I suppose this is a topic for another issue, right?

Glad to hear you have the vertical interpolation working!
Yes, the drift issue is quite of interest, that certainly should not be happening. Please do submit a separate issue for that, and include the WLT version you are using, the Frozen World Engine plugin version, and the hardware you are running on. I have a general idea of repro steps, but great if you could lay them out explicitly in the new issue.
Also, the output of your Unity log and FW logs as documented here.
Also, great if you can include your Triangulator code for me to fully repro, but not essential if it is awkward regarding licensing/IP/etc.
Thanks!

Closing this to take on the remaining issue #65 .
Feel free to reopen this if there are issues remaining related to the Y-axis interpolation.
I will open a separate issue for a general 3D volume interpolation.


Schema compliance

Necessary changes for compliance with input and metadata schemas and manipulation.

https://github.com/catalystneuro/nwb-conversion-tools/blob/23fafea7b9b5430c4fba2764f4b073cd797c0eb5/nwb_conversion_tools/baserecordingextractorinterface.py#L50-L52
What is subset_channels? It feels like this shouldn't be on metadata
@CodyCBakerPhD


⚠ Bofrost.at has degraded performance

In 4bccc39, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1908 ms

Resolved: Bofrost.at performance has improved in 747882c.


Creating jobs dynamically, at runtime

Hi,
Is there any way to create scheduled jobs at runtime, driven by user actions?
For instance - to let users create scheduled, recurring tasks?
As I suspect the answer would be no - is it in crono's vision / roadmap to consider such a feature?

+1

Hello @DannyBen and @josercruz01
Have you tried to run Crono.perform(Test).every 5.seconds at runtime?


Make sure to build and deploy dist archives only on/from py39

Note to self: CircleCI regex matching in logic statements (e.g. when used in a when step) does not support prefix matching. The expression has to be anchored on both ends, with an eat-all .* at the end.

CircleCI docs have been updated, but I don't think they are still clear enough.


/asset endpoint lists seek keys

this asset endpoint: http://refgenomes.databio.org/v2/assets
will yield a response not for every asset but for every seek key. This causes some confusion... shoudl the asset endpoint only list assets? why would we want seek keys listed here? should it be a separate endpoint?
raised in discussion with @natefoo

alternatively, listr doesn't need to show the seek keys.
what is the advantage of showing seek keys in listr ? people are interested in the assets, not the seek keys, held by the server.

I think listing seek keys makes sense because soon the asset recipes and names will become arbitrary so this is a way to remotely inspect actual contents of an asset. Additionally, I like that list and listr show the same types of information


options.groups is not regenerated after change of group option

Because the options.group string is generated in the constructor based on the group option, if the group option is changed via the option function, the options.group is never regenerated.

Yes, it is so, options.group — constant.

Try dev-branch.


Ability to override getter/setter for specific model properties?

Hi,
Is there a way to override a getter/setter for specific properties on a model? My use case is that for a property like email address, I want to ensure that when it is set or retrieved, it always sets/retrieves the email in lowercase so I can do a valid comparison.
Is this possible?
Thanks!
James

I think you meant to post this to Bookshelf, not Knex right?

@rhys-vdw apologies. That was the intention. I was flipping back and forth between Bookshelf and Knex tabs and mistakenly posted this here. I'll close it now.


Check for abstract types in ActivatorUtilities

The exception asks the user to make sure the type is concrete, however this is not being checked.

@henkmollema,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@henkmollema - this seems like a good change -- can you add a test for it? I'd want to make sure we don't regress this scenario in the future.
@pakrym - can you take a look?

@Eilon I would like to, however there aren't any tests on ActivatorUtilities yet. Should I create a new test project for it?

Tests are a WIP. Not ready for merge yet.

Ah, that's scary then 😄 Well, it'd still be good to have a new test for the new functionality! And it would be super great if you could make sure that the test fails when you don't have your change enabled.

We have tests for ActivatorUtilities in DI https://github.com/aspnet/DependencyInjection/blob/dev/src/Microsoft.Extensions.DependencyInjection.Specification.Tests/ActivatorUtilitiesTests.cs . Strange layering is because we had two implementations before, we unified them since and DIActivatorUtilities calls into this implementation, so maybe it makes sense to move all tests here.

You can also add tests to the Microsoft.Extensions.Internal.Test project. That's our "kitchen sink" test project for all those one-class .Sources packages.

Allright, I'll add them to Microsoft.Extensions.Internal.Test.

@Eilon @pakrym @natemcmaster I've added a test to Microsoft.Extensions.Internal.Test. However, I do think that we shouldn't have two test projects for ActivatorUtilities. Should we merge them together in some place?

Yeah I think moving all the tests here is the right thing to do, but that should be as a separate PR. I'm fine if for this PR we just lay the groundwork here with the new test(s) we want to add, and as a separate change we can pull in the other tests from the DI repo.

Sounds good to me!

@henkmollema Thank you!


#435 Fix running tests involving embedded MongoDb on incompatible platforms.

Closes #435

So, actually, @yruslan you simply don't execute any real tests in case MongoClient cannot be created, do you? You're code owners, however I'd say you are on thin ice. :-)

Yes, exactly. I skip tests on platforms that don't support embedded MongoDB. And I agree with you, it is not ideal.
I decided to use this simple approach because:

Tests for MongoDB are not ignored on GitHub runners, so errors luckily should be caught in CI/CD.
MongoDB is being phased out in favor of PostgreSQL database for bookeeping, I'm not sure if anybody is using it now.
I hope when MongoDB is used again bookkeeping for some reason, we can switch to a newer version of embedded MongoDB to support more platforms.
I've tried upgrading the embedded MongoDB library, and it is not trivial, many interfaces have changed, so I went for the simple solution for now.

And I decided not to close the issue until a better solution is implemented


Update embedded journal metric descriptions

What changes are proposed in this pull request?
Update some vague metric descriptions
Why are the changes needed?
Descriptions should be clearer to users to enhance understanding

I verified the metrics using a local cluster with the following docker-compose file:
version: "3"

services:
  master1:
    image: alluxio/alluxio:latest
    environment:
      ALLUXIO_MASTER_JAVA_OPTS: " -Dalluxio.master.hostname=master1 -Dalluxio.master.journal.type=EMBEDDED -Dalluxio.master.embedded.journal.addresses=master1:19200,master2:19200 -Dalluxio.master.journal.checkpoint.period.entries=1000 "
    command: "master-only"
  master2:
    image: alluxio/alluxio:latest
    environment:
      ALLUXIO_MASTER_JAVA_OPTS: " -Dalluxio.master.hostname=master2 -Dalluxio.master.journal.type=EMBEDDED -Dalluxio.master.embedded.journal.addresses=master1:19200,master2:19200 -Dalluxio.master.journal.checkpoint.period.entries=1000 "
    command: "master-only"

Codecov Report

Merging #13619 (b9f17c0) into master (31139e8) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head b9f17c0 differs from pull request most recent head c55bcee. Consider uploading reports for the commit c55bcee to get more accurate results

@@             Coverage Diff              @@
##             master   #13619      +/-   ##
============================================
+ Coverage     40.02%   40.04%   +0.01%
- Complexity     8240     8249       +9
============================================
  Files          1378     1378
  Lines         79869    79869
  Branches       9713     9713
============================================
+ Hits          31968    31981      +13
+ Misses        45453    45444       -9
+ Partials       2448     2444       -4

Impacted Files
Coverage Δ

...ommon/src/main/java/alluxio/metrics/MetricKey.java
97.36% <100.00%> (ø)

...uxio/master/FaultTolerantAlluxioMasterProcess.java
48.95% <0.00%> (-10.42%)
:arrow_down:

...in/java/alluxio/worker/block/BlockLockManager.java
77.52% <0.00%> (-1.69%)
:arrow_down:

...io/master/file/meta/InodeTreeBufferedIterator.java
76.63% <0.00%> (ø)

...alluxio/master/journal/raft/RaftJournalSystem.java
64.92% <0.00%> (+0.49%)
:arrow_up:

...n/java/alluxio/master/metastore/caching/Cache.java
94.62% <0.00%> (+0.53%)
:arrow_up:

...on/src/main/java/alluxio/util/JvmPauseMonitor.java
76.92% <0.00%> (+1.09%)
:arrow_up:

...aster/journal/raft/SnapshotReplicationManager.java
63.56% <0.00%> (+1.16%)
:arrow_up:

.../java/alluxio/master/meta/DailyMetadataBackup.java
66.66% <0.00%> (+1.23%)
:arrow_up:

...e/common/src/main/java/alluxio/grpc/GrpcUtils.java
62.25% <0.00%> (+2.33%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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

ping @ggezer

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.6 please


Network Issues

Hi, i'm reusing parts of your project to create a template with vsphere-iso.
Everything seems to work fine, i just do not undestand how the network card is being set up.
Shouldn't i put a network conf in te autounattend.xml ?

Hi @Emanuele94,
You shouldn't have to edit that file for networking.
I haven't used the vsphere-iso builder previously so I can't tell for sure, but it should work as for the other builders:

The VM is created
It gets an IP address from your DHCP server
Packer retrieves the IP address from the hypervisor

I hope that makes it clearer for you.

Thanks eaksel.
I think my problem resides in the fact that i should install vmware tools during the unattended otherwise my vm doesn't have the drivers to bring up the nic vmxnet3.
I'm mounting the iso for vmware tools in a cd sata. crated a cmd script that runs setup during autounattend.
I'll let you know if it works. mabye someone is gonna need to understand this.


KeyError: 'graphql'

Describe the bug
HTTP redirect from https://www.instagram.com/explore/locations/236717556/ to https://www.instagram.com/accounts/login/?next=/explore/locations/236717556/
Traceback (most recent call last):
File "milf.py", line 34, in
L.download_post(post, target='#memory')
File "C:\Users\Асус\lib\site-packages\instaloader\instaloader.py", line 490, in download_post
if self.download_geotags and post.location:
File "C:\Users\Асус\lib\site-packages\instaloader\structures.py", line 418, in location
params={'__a': 1})['graphql']['location']
KeyError: 'graphql'
To Reproduce
Instaloader command line
Expected behavior
I'd expect it to download the files after the redirect. These files can be skipped.
Error messages and tracebacks
KeyError: 'graphql'
Instaloader version
4.2.8
Additional context
Add any other context about the problem here.

Idem to me, when i try to get the location of post now the throw me that error.

Thanks for reporting! Instagram removed the option to explore locations without being logged in. Hence, --login is now required for downloading posts by location.

Same error happened to me when I downloaded a users posts anonymously, @aandergr .
But I think I had geotags for the posts enabled,

Anyway around this without logging in?

I'm donwloading without geotags, and I'm just using the download post method but it is sitll breaking.
I just need the posts, no additional info.  I've tried putting in as many parameters to avoid any additional info, but I'm still getting errors.  Any advice?


Convert readthedocs links for their .org -> .io migration for hosted projects

As per their blog post of the 27th April ‘Securing subdomains’:

Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard.

Test Plan: Manually visited all the links I’ve modified.

👍

The link on the Github repo description also needs updating.

I updated the GH repo description as well as the links on falconframework.org

@adamchainz would you mind rebasing?

Current coverage is 100% (diff: 100%)

Merging #828 into master will not change coverage

@@           master   #828   diff @@
====================================
  Files          29     29
  Lines        1846   1789    -57
  Methods         0      0
  Messages        0      0
  Branches      305    299     -6
====================================
- Hits         1846   1789    -57
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update ebc2d14...4d8b7d4

rebased

[rebased and merged as #860]


Fixing a error appearing when no rules are present

@emedvedev sorry, missed that, instead reimplemented that in https://github.com/StackStorm/st2web/commit/065dd8a09b9cfbda4324ef23734e6722a5d3ff63 for all the apps as a part of https://github.com/StackStorm/st2web/pull/244

No problem, I'm closing this one then.


Execute functional tests on PR

yea it's not that simple. atm, for quick solution i guess we need to trigger the jenkins build (there are 5 or so github actions for that) and check it out. maybe there is a github action for polling its' finish?

yea it's not that simple. atm, for quick solution i guess we need to trigger the jenkins build (there are 5 or so github actions for that) and check it out. maybe there is a github action for polling its' finish?

Jenkins library filter PR's for nightly tried all that so may be we need a new pipeline for end to end tests :)


uv pip install hexdump==3.3 fails: The top level of the archive must only contain a list directory

I cannot install the hexdump package with uv pip install:
$ pipx install uv
  installed package uv 0.1.1, installed using Python 3.11.2
  These apps are now globally available
    - uv
$ uv venv
Using Python 3.11.2 interpreter at /usr/bin/python3.11
Creating virtualenv at: .venv
$ uv pip install hexdump==3.3
error: Failed to download and build: hexdump==3.3
  Caused by: Failed to extract source distribution: The top level of the archive must only contain a list directory, but it contains: [DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/__main__.py") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/hexdump.py") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/data") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/PKG-INFO") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/setup.py") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/README.txt") }]
  Caused by: The top level of the archive must only contain a list directory, but it contains: [DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/__main__.py") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/hexdump.py") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/data") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/PKG-INFO") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/setup.py") }, DirEntry { inner: DirEntry("/home/user/.cache/uv/.tmphnfEex/README.txt") }]

It looks like the error comes from this function:
https://github.com/astral-sh/uv/blob/12c19ce50689ee089c1374deb8282555418f9cf4/crates/uv-extract/src/sync.rs#L107-L122
Indeed the hexdump-3.3.zip sdist does not follow the spec and directly contains the source files:
$ unzip -l hexdump-3.3.zip
Archive:  hexdump-3.3.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
    13829  01-22-2016 17:32   hexdump.py
     8228  01-22-2016 17:40   PKG-INFO
     5731  01-22-2016 17:33   README.txt
     4127  01-22-2016 17:36   setup.py
       32  01-22-2016 16:04   data/hexfile.bin
       51  01-22-2016 17:40   __main__.py
---------                     -------
    31998                     6 files

Maybe it uses the legacy sdist format mentioned in the documentation?  The same package can be installed without problem using pip 24.0.

Oh noo. Okay, that's interesting, will look into it!

Thanks!  And thank you for this amazing project!  A big step towards fast and reliable Python development and packaging tools. :)

Thank you! And thanks for looking into the root cause, the zip structure, etc. That's awesome.

Ok, it looks like pip has a slightly different implementation, which is that if every file is scoped under the same directory, it flattens that directory: https://github.com/pypa/pip/blob/51de88ca6459fdd5213f86a54b021a80884572f9/src/pip/_internal/utils/unpacking.py#L62


Add support for Ultra-Wde lens , please.

I tested this apk(version 8) on my Asus Zenfone 8 running LinageOS. it works perfectly,
Just wish it supports the Ultra-Wide camera of the phone as well.
Great job guys, please keep the code rolling!!

It has support for it on devices implementing it the same way Pixels do. If they don't do that then it's likely not going to be supported.

One day we might support cycling through alternate cameras which would make it work with this kind of device. Pixels switch automatically based on zoom level.


Translation w/ glossary entries are only partially translated and include sourceLang string

Describe the bug
After creating a glossary and running a test translation, the glossary entry provided was partially translated and the source entry is sometimes included in the translation.
To Reproduce
Steps to reproduce the behavior:

I have created a glossary from EN to DE
I have added some entries to test the functionality
Results as seen in the screenshot below are not sticking to the terms set in the glossary.

This is the code I'm calling the translations with:
  const testTranslation3 = await translator.translateText('test1', 'en', 'de', {
    glossary: glossaryId,
  })

Expected behavior
I'm uncertain if I misunderstood how glossaries work, but I thought they would always take precedence over default translations. Also, the source language string should never show up in the translation.

I have experienced the same behaviour and just tried with a normal fetch with the same test glossary_id of a glossary I created. It seems to be related to the package as the vanilla fetch call behaves as expected with the glossary.
As a workaround for now the vanilla fetch call will have to suffice.


[IMP] Setting up MONAI Model Server

Is your enhancement request related to a problem? Please describe.
Over the last six months, we have been building towards packaging the MONAI model in different flavors. The focus of these efforts is towards model sharing and

Packaged as a MONAI Bundle and shared as a model zoo.
We can now make Pythonic calls to a monai bundle for further fine-tuning or inferencing.
The MONAI bundles can also be used for creating MONAI Application Packages (MAPs), which are their own entities directed for inferencing. However, it should be pointed out that MONAI Application Packages do not need to run a MONAI Bundle. MAPs do support DICOM data (dicom I/O) loaders which is not the case for MONAI Bundles (at least natively).

The core focus for MONAI 1.3 release has been giving access to MONAI bundles through python function calls.
We can now standardize the model training and inferencing using the MONAI bundle
In essence, there are various flavors for models to be shared and re-used. However, one key use case that we are missing is that we do not have a mechanism to set up a model server, where we can have model-store (a directory) where models (monai bundles) are dropped and inference can be made by making a call to the model store using a model name.
Describe the solution you'd like
An ideal solution would be to set up a model-server where models can be dropped and inference can be made by calling the model using the model_name
Describe alternatives you've considered
An alternative would be to use torchserve and the .mar format (model archive). Pytorch provides a CLI torch-model-archive to generate a .mar file. These .mar files contain a torchscript model along with python handlers for data pre and post processing. The models can be invoked using a RestAPI (curl) in conjunction with the model name, and the IP address of the host computer.
However, torchserve only supports Rest API (AFAIK) which might be good for small images but maybe not a great idea for large dicom images and files. As the model inference will fail if the connection drops in between.
An alternative to the Rest API might be tus-py https://github.com/tus/tus-py-client.
We can try to write a thin wrapper on top of our MONAI Bundle so that we can utilize the torchserve model server or repackage our monai bundles as .mar file so that they can be used in torchserve. For medical imaging applications, where the dataset size is quite large even for a single patient, we can set up a data store with unique identifiers (UID) for each patient. Instead of sending the data using a restful call, we can pass the unique identifier and the model server can pull the appropriate data from the datastore and complete the inference.
Additional context
I think continuing with the idea that there is a theme with each release. For 1.3 the main theme was pythonic support for MONAI Bundles. Maybe for 1.4 the main theme would be a model server for monai bundles.
Unclear to me
One of the aspects of torchserve that is unclear to me is if the models in model server are loaded in the GPUs (i.e., if the models are hot) and ready to serve. If we can achieve this it will be really great.

Given you can package models as containers (MAP), would using a container registry fit your needs?

Given you can package models as containers (MAP), would using a container registry fit your needs?

Absolutely, though it is up to the adopter of the SDK and creator of MAPs to pick a (secure) container registry. Some of the examples used in this project use GitHub Container Registry.

Triton Inference Server has been support PyTorch model for the longest time, supporting tensor input for simple inference (i.e. the client needs to chunk the input if larger than model size), as well as supporting Python backend passing whole encoded input to the backend app for pre, infere, and post processing, where the app can be built with this App SDK.
Nvidia has also announced NIM, making inference as a microservice with Triton being the default inference engine. NIM supports container workload, in the sense that the service implementation is realized with the container, such as a MAP, and a Helm chart if necessary. We'll be working on examples and recipes to make a MAP a NIM.


Error : Segmentation fault (core dumped)

Hi,
while running the generation script
(python script/sample.py  -g ./test/generation_config/tpsa.yaml  -s "c1ccccc1"  --num_samples 100  --logp 6  -o ./result_sample/logp=6.smi)
it is showing Segmentation fault (core dumped)
Iam attaching a screenshot of the same, please help
Thanks, and regards.

Oh there is a mistake on README.md. I will modify that bug as soon as possible. Thank you for pointing out the error.
The error seems to be cause by mismatch between generation configure file and argument. Try modifying ./test/generation_config/tpsa.yaml to ./test/generation_config/logp.yaml
python script/sample.py -g ./test/generation_config/logp.yaml -s "c1ccccc1" --num_samples 100 --logp 6 -o ./result_sample/logp=6.smi

Hi @SeonghwanSeo ,
Thanks for replying, I tried the updated command but still get the same error and a new error
Iam attaching the screenshot of the same.
Thanks, and regards!

I haven't found any issues on CentOS7 and MacOS (Apple Silicon M1).
Can you let me know what your working environment is?

As far as I know, there was importing issue for torch geometric. (I also encountered that issue in MacOS.)
Could you confirm that torch geometric can be imported well in your environment?
$ python
>>> import torch
>>> import torch_geometric

Hi,
I also encountered the torch geometric issue but I fixed it by downloading through different channel.
iam attaching the screenshot of the downloaded version.

and I am now able to import torch_geometric without any errors.

please let me know if you are able to replicate the issue.

Hi @SeonghwanSeo ,
The system is working now, I have one query to ask.
is it possible to combine logp and molecular weight to optimize simultaneously.
because in the example generation command --generator_config can point to only one prebuilt model.
please let me know if there is a possibility to combine mw and logp.
Thanks and regards
Neeraj

I will train the model for MW-logP and deliver the trained model until this week.

@SeonghwanSeo thank you so much for the help.
will wait for the trained model.

The mw-logp model is uploaded. You can download the model weight with following script:
gdown 'https://drive.google.com/uc?id=10UXskmoQQW6KZAeNSVqF4LliMZB9j5Iq'


Fixes typos, formatting, and other doc related issues

This PR addresses some of the following issues in the docs:
Adds space between headings and paragraphs.
Fixes “All of the” to just “All of”
Removes extra white space
Changes “vary” to “varies”
Removes duplicated word `the`
Correct syntax for the word `however`

This is purely a grammatical issue and does not attempt to correct anything technical.
Tests
Ran Mkdocs locally and checked all changes.

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


ScottPlot 5 Scatter Plot: data containing NaN and Infinity

Suggestion: With the release of ScottPlot 5 it seems that a feature where "gaps" were created on encounter a double.NaN value has been removed. As described here [https://scottplot.net/faq/nan/](in the 4.1 cookbook) I am asking that this feature be re-introduced.
var plt = new ScottPlot.Plot(600, 400);
var scatter1 = plt.AddScatter(xs, ys, Color.Gray);
var scatter2 = plt.AddScatter(xs, ysWithNan, Color.Black);
scatter2.OnNaN = ScottPlot.Plottable.ScatterPlot.NanBehavior.Gap;

Yes, I recently started using Scottplot (4) and definitely need this for being able to switch to SP5. In SP4, the .OnNaN property only exists for Scatterplots, but not for the more performant signal plots. Any chance of also supporting NaN gaps for signal plots in SP5?

sounds like this has been fixed with #3577?
This FAQ page should probably be updated accordingly for SP5: https://scottplot.net/faq/nan/


Disable namespaces by regex

Allow for ignoreNamespaces configurable to take a regex for namespaces to disable.
Ported over from https://github.com/spiffe/spire/issues/3386

I would love to see this feature implemented.

I'd like to work on this.


Flesh Out Optimal Stopping Notebook

cc @ajozefiak
Soon, I'll upload a rough pass at a notebook designed to show off approaches to optimal stopping problems. The current setup is 1D in continuous time. There's a lot to discuss:

A small overview of optimal stopping (what are these kinds of problems, where do they arise, etc.) McCall is one example, but there are tons of others.
The stuff about discretizing operators and the different boundaries that you've been working on with @chiyahn
The "standard" HJB approach to solving these things
The LCP approach to this stuff that I have been working on (and that I can brief you on)
Generalizations to multiple dimensions (although this may not make it in, need to figure this out with Jesse).

To the extent possible, I'll be deputizing you to work with me on this (of course, modulo exams and school, which is always first priority).
For now, maybe read over the code and linked PDFs in the continuous_time_methods/LCP.ipynb notebook in this repo.

I forgot, another thing to add is:

A discussion of the "smooth pasting" and "value matching" conditions (sometimes called the "high contact" and value matching conditions). And how they work differently in the Bellman setup (imposed constraints) vs the LCP setup (natural consequences).

You can get some background on this in the PDF and the links inside the PDF, if it's unfamiliar.


feat: implement free Google translation service

I have added in this pull request the free Google translation services without any keys, and made it the default because it is free and require nothing. Users can change their service with paid one (or required API keys).
I have also written the corresponding text and documentation for this service.
I hope you merge it.

I like it. Thanks a lot, makes it way easier to get started with using translate


Use NPM packages to provide fonts instead of Google Fonts

This patch uses the fontsource libraries instead of using Google Fonts
in order to provide the fonts in the frontend. This way the web frontend
becomes more private, since it no longer shared visitors IPs with Google
and might even loads faster since modern web browsers isolate site
caches from each other and can re-use connections with HTTP/2 instead of
setting up a new connection to Google.[1]
It's basically the next iteration of my previous PR[2], that no longer
relies on a tool to download the fonts separately, but uses a library
instead. It also relates to issues that have been opened before[3] and
should be easily handled and upgraded by the regular NPM package
tooling[4], solving all related problems to that.
1: https://csswizardry.com/2019/05/self-host-your-static-assets/
2: https://github.com/badges/shields/pull/4864
3: https://github.com/badges/shields/issues/5883
4: https://github.com/badges/shields/labels/dependencies
Note: I'm not sure what to put into the brackets for the PR title, but I hope it's fine this way.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @SISheogorath!

  Generated by :no_entry_sign: dangerJS against a53bd3500db09a49dd09967568b4ecf0b5f88403


[Task]: Update frontend to support RunCode method for examples with datasets and emulators

What needs to happen?
RunCode GRPC method must be called with additional parameters for examples with Kafka emulators
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components

[ ] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[X] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.take-issue


[AutoPR datafactory/resource-manager] [DataFactory]SapBwCube and Sybase Dataset

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6756

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/5341