目录
invictus

feat: distinct sign-in error when Q Developer access is blocked (#571)

  • feat: distinct sign-in error when Q Developer access is blocked

Amazon Q Developer stopped accepting new Builder ID accounts. Such an account signs in successfully – sign-in is OIDC and is never gated – and then finds Q silently non-functional, because every Q request from that identity is refused and the refusal surfaces as if it were a chat reply. No explanation, and nothing the user can act on.

Only the language server observes the refusal. The service gates on the User-Agent of the shared language server, so the plugin’s own SDK calls are allowed unconditionally and there is no client-side signal to classify. The server reports it over the existing notification channel, so this change teaches the plugin to listen.

  • Declare aws/window/showNotification on the client and act on it.
  • Advertise window.notifications. Without it the runtime builds no notification router and drops the notification silently – no error and no log, which is the failure mode that cost the most time on the VS Code and JetBrains ports.
  • Identify the notification by id, never by title. The runtime’s router rewrites the declared id into base64 of {“serverName”:…,”id”:…}, so the raw id never arrives, and a title match would sign out a working user the first time an unrelated error reused the title “Amazon Q Developer”.
  • Add QDevAccessBlockedState and resolve it in ViewRouter ahead of the logged-out state. Reacting to the refusal signs the user out, so the two states are always true together; checking logged out first would show the ordinary login view and lose the explanation.
  • Add QDevAccessBlockedView, following ReauthenticateView, explaining what happened, pointing to Kiro, and offering a route back to sign-in for pre-cutoff Builder IDs.

The screen carries its own copy rather than displaying the service’s message: that message is one sentence written for an API consumer and does not say what to do next. Consequently the dates on the screen are product copy from the public announcement, not values reported by the service.

Ports the behaviour already shipped in VS Code (aws/amazon-q-vscode#159) and JetBrains (aws/amazon-q-jetbrains#120).

Verified: mvn -B package on Corretto 17 – BUILD SUCCESS, 508 tests, 0 failures, including 7 new classifier tests and ViewRouterTest at 14/14 with 2 new routing tests.

  • fix: seed the blocked state so the view router can emit at all

Found in Windows testing: the Amazon Q panel rendered permanently blank. The plugin resolved and the language server launched, but no view was ever selected.

ViewRouter combines its state streams with combineLatest, which emits nothing until every source has emitted once. Every pre-existing state is seeded during startup by the service that owns it, but QDevAccessBlockedState has no owning service: it is only posted when the language server reports a refusal, which for almost every user is never. The silent stream starved the combined stream, so the router never published a view and the container had nothing to render. The unit tests missed it because they hand-seed all streams.

Seed NOT_BLOCKED with startWithItem at the point of combination, so the stream can never starve regardless of how the observable was injected. The clearing test now asserts the blocked -> login ordering rather than a single post, since the seed legitimately posts the login view once before the block arrives.

17天前764次提交

Amazon Q for Eclipse

Amazon Q Developer is an advanced AI-powered coding assistant designed to enhance developer productivity and streamline software development processes.

Key Features

  1. Intelligent Code Generation & Assistance

    • Explains code and answers software development questions
    • Generates real-time code suggestions from snippets to full functions
    • Provides inline code suggestions based on your comments and existing code
    • Supports contextual conversations about your code
  2. AI-Powered Development Agents

    • Automates complex, multistep tasks including:
      • Unit testing
      • Documentation
      • Code reviews
    • Assists with implementing features, documenting code, and bootstrapping new projects
    • Achieved highest scores on the SWE-Bench Leaderboard and Leaderboard Lite
  3. Secure Private Repository Integration

    • Connects securely to your private repositories
    • Customizes and generates more relevant code recommendations
    • Enables querying about your company-specific code
    • Accelerates understanding of internal code bases
  4. Code Reference Log

    • Attributes code suggestions that are similar to training data
    • Automatically logs accepted code suggestions that match training data
    • Maintains transparency in AI-generated code origins

Amazon Q Developer is designed to be your intelligent coding companion, helping you write better code faster and understand complex codebases more efficiently.

Available Plans

  1. Free Tier

    • Code faster with code suggestions in the IDE
    • Review code licenses with reference tracking
    • Limited monthly access to advanced features:
      • Chat, debug code, add tests, and more in your IDE (50 interactions/month)
      • Amazon Q Developer agents for software development (10 uses/month)
      • Amazon Q Developer Agent for code transformation (1,000 lines of submitted code/month)
      • Answers about your AWS account resources (25 queries/month)
  2. Pro Tier

    • Manage users and policies with enterprise access controls
    • Customize Amazon Q to your code base for enhanced suggestions
    • Increased limits on advanced features:
      • Unlimited chat, debugging, and testing in your IDE
      • Unlimited use of Amazon Q Developer agents for software development
      • Unlimited answers about your AWS account resources
    • Additional enterprise-grade features

Both tiers continue to receive updates and improvements.

Installation Instructions

  1. Open Eclipse Marketplace

    • Launch Eclipse IDE
    • Navigate to Help > Eclipse Marketplace...
    • Search for “Amazon Q”
    • Click “Install” on the Amazon Q plugin
  2. Complete Installation

    • Review the installation details
    • Accept the license agreement
    • Click “Finish”
    • When prompted, restart Eclipse to complete the installation

Install-Using-Marketplace

Option 2: Install via Update Site

  1. Open Install Dialog

    • Launch Eclipse IDE
    • Navigate to Help > Install New Software...
  2. Add Amazon Q Repository

    • Click “Add…” button
    • Enter the following details:
      • Name: Amazon Q for Eclipse
      • URL: https://amazonq.eclipsetoolkit.amazonwebservices.com/
    • Click “Add”
    • Select “software.aws.toolkits.eclipse” from the available software list
    • Click “Next”
  3. Complete Installation

    • Review the installation details
    • Accept the license agreement
    • Click “Finish”
    • When prompted, restart Eclipse to complete the installation

Install-Using-Update-Site

Demos & Examples

Code Context

Explaining-A-Class

Generate Tests

Test-Generation

Create Documentation

Inline-Chat

Code Completion

Code-Completion-Example

License

This project is licensed under the Apache-2.0 License.

邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号